基础需求:
- 让用户输入用户名密码
- 认证成功后显示欢迎信息
- 输错三次后退出程序
升级需求:
- 可以支持多个用户登录 (提示,通过列表存多个账户信息)
- 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
1、多用户采用字典存用户信息,同一个用户输出三次用户就会被拉入黑名单锁定(同一用户可以连续或者非连续输错三次)
2、涉及到文件的建立,读取,写入知识点
user_info = {'aa':{'password':123,'count':3}, 'bb': {'password': 123, 'count': 3}, 'cc': {'password': 123, 'count': 3}} while True: user_name = input('用户名:>').strip() pass_word = int(input('密码:>')).strip() if user_name not in user_info: continue else: file = open('black_name.txt','a') with open('black_name.txt','r') as f_b: f = f_b.read() if user_name in f : print('用户输错过多,被锁定!') break else: if pass_word == user_info[user_name]['password']: print('登录成功,欢迎您!') break else: user_info[user_name]['count'] -= 1 print(f"您还有{user_info[user_name]['count']}次机会输入") if user_info[user_name]['count'] == 0: with open('black_name.txt','w') as f_b: f = f_b.write(user_name) print('您输错过多,被锁定!') break
悟已往之不谏,知来者之可追。