python案例-用户登录,,要求:•输
python案例-用户登录,,要求:•输
要求:
•输入用户名密码
•认证成功后显示欢迎信息
•输错三次后锁定
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 """ 5 用户登陆功能实例 6 1、获取db文件中所有的用户信息 7 2、比较用户信息 8 如果用户名不存在,则直接退出 9 如果用户名存在10 检测密码,如果密码存在,则提示登陆成功,并将登陆错误次数重置为 0 ,修改内存中的字典中记录的登陆错误次数。(并写入文件)11 如果密码不存在12 修改内存中的字典中记录的登陆错误次数13 14 将最新的登陆错误次数和对应用户信息写入文件15 16 """17 18 19 # 读取用户信息到 user_info_list 中20 read = file(‘db‘,‘r‘)21 user_info_list = read.readlines()22 read.close()23 24 # 处理 user_info_list,以便之后的用户名和密码比较25 # 处理后的结果: user_info_dict = {‘alex‘: {‘pwd‘: ‘112233‘, ‘times‘: 0}, ‘eric‘: {‘pwd‘: ‘111111‘, ‘times‘: 0}}26 user_info_dict = {}27 for item in user_info_list:28 user_info = item.split(‘|‘)29 user_info_dict[user_info[0]] = {‘pwd‘: user_info[1], ‘times‘: int(user_info[2].strip())}30 31 while True:32 username = raw_input(‘请输入用户名:‘)33 # 用户名不存在34 if username not in user_info_dict.keys():35 print ‘用户名不存在,请重新输入!‘36 # 用户名存在37 else:38 # 判断登陆次数39 if user_info_dict[username][‘times‘] > 3:40 print ‘账户已经冻结,请联系管理员!‘41 break42 else:43 pwd = raw_input(‘请输入密码:‘)44 if user_info_dict[username][‘pwd‘] == pwd:45 # 如果登陆成功,将登陆次数重置为 046 user_info_dict[username][‘times‘] = 047 print ‘恭喜您 %s,登陆成功‘ % username48 else:49 # 如果登陆失败,将登陆次数加一50 user_info_dict[username][‘times‘] += 151 52 # 将最新的登陆次数写入文件53 temp_list = []54 for key, value in user_info_dict.items():55 temp = "%s|%s|%d" % (key, value[‘pwd‘], value[‘times‘])56 temp_list.append(temp)57 temp_str = "\n".join(temp_list)58 w_obj = file(‘db‘, ‘w‘)59 w_obj.write(temp_str)60 w_obj.flush()61 w_obj.close()
python案例-用户登录
相关内容
- 暂无相关文章
评论关闭