编写登陆接口

# 作业:编写登陆接口
#
# 基础需求:
#
# 让用户输入用户名密码
# 认证成功后显示欢迎信息
# 输错三次后退出程序

dic={ 'egon1':{'password':'123','count':0}, 'egon2':{'password':'123','count':0}, 'egon3':{'password':'123','count':0}, } while True: name = input('username>>: ') if not name in dic: print('用户不存在') continue if dic[name]['count']>2: print('尝试次数过多,锁定') continue password=input('password>>:') if password==dic[name]['password']: print('登录成功') break else: print('用户名或密码错误') dic[name]['count']+=1 print(dic[name]['count'])

 

升级需求:

  • 可以支持多个用户登录 (提示,通过列表存多个账户信息)
  • 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
  • dic={
        'egon1':{'password':'123','count':0},
        'egon2':{'password':'123','count':0},
        'egon3':{'password':'123','count':0},
     }
    count=0
    while True:
        name=input('u>>:')
        if name not in dic:
            print('用户不存在')
            continue
        with open('db.txt','r') as f:
            lock_users=f.read().split('|')
            if name in lock_users:
                print('用户%s已经被锁'%name )
                break
        if dic[name]['count']>2:
            print('尝试次数过多,锁定')
            with open('db.txt','a') as f:
                f.write('%s|' %name)
            break
        password=input('p>>:')
        if password==dic[name]['password']:
            print('登录成功')
            break
        else:
            print('用户名或密码错误')
            dic[name]['count']+=1

     

posted @ 2017-12-15 19:27  rjm123456  阅读(239)  评论(0编辑  收藏  举报