一:编写登陆接口基础需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 1.dic 方法
name_info={‘zhang‘:‘123‘} count=0 while count<3: name=input(‘请输入用户名:‘) if name in name_info: password=input(‘请输入密码:‘) if password == name_info[name]: print(‘欢迎登入‘) break else: print(‘密码输入有误,请重新输入密码:‘) count+=1 else: print(‘输入信息有误,请重新输入‘) count+=1
2.list方法
name_info=[‘zhang‘,‘123‘] count=0 while count < 3: name=input(‘请输入用户名:‘) if name == name_info[0]: password=input(‘请输入密码:‘) if password == name_info[1]: print(‘欢迎登入‘) break else: print(‘密码输入错误,请重新输入‘) count+=1 else: print(‘用户名输入错误,请重新输入‘) count+=1
二:升级版需求:
可以支持多个用户登录 (提示,通过列表存多个账户信息) 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
name_info={‘zhang‘:{‘passwd‘:‘123‘,‘count‘:0}, ‘xin‘:{‘passwd‘:‘123‘,‘count‘:0}, ‘xiao‘:{‘passwd‘:‘123‘,‘count‘:0} } count=0 while True: name=input(‘请输入你的用户名:‘) if name not in name_info: print(‘此用户名不存在,请重新输入!‘) continue with open(‘db.txt‘,‘r‘) as f: lock_users=f.read().split(‘|‘) if name in lock_users: print(‘用户%s已经被锁定‘ %name) break if name_info[name][‘count‘] > 2: print(‘尝试次数过多,被锁定‘) with open(‘db.txt‘, ‘a‘) as f: f.write(‘%s|‘ % name) break # if name in name_info: password=input(‘请输入你的密码:‘) if password == name_info[name][‘passwd‘]: print(‘登入成功‘) break else: print(‘密码输入错误,请重新输入:‘) name_info[name][‘count‘]+=1
时间: 2024-09-30 06:55:14