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案例-用户登录

相关内容

    暂无相关文章

评论关闭