python案例-用户登录
2016-06-08 13:22
507 查看
要求:
•输入用户名密码
•认证成功后显示欢迎信息
•输错三次后锁定
•输入用户名密码
•认证成功后显示欢迎信息
•输错三次后锁定
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 break 42 else: 43 pwd = raw_input('请输入密码:') 44 if user_info_dict[username]['pwd'] == pwd: 45 # 如果登陆成功,将登陆次数重置为 0 46 user_info_dict[username]['times'] = 0 47 print '恭喜您 %s,登陆成功' % username 48 else: 49 # 如果登陆失败,将登陆次数加一 50 user_info_dict[username]['times'] += 1 51 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_Day_02[数组、列表、元组之篇]
- python使用zmq通信
- python面向对象
- Python学习笔记-第一个小游戏Pyglatin
- Scrapy 1.2 + Python 3.5 在 Windows 上的安装方法
- python __doc__ 文档说明
- Python中sorted()方法
- 浅谈Python数据类型之间的转换
- Python爬虫实战(2):爬取京东商品列表
- Python正则表达式如何进行字符串替换
- 浅谈python 四种数值类型(int,long,float,complex)
- Python入门:os部分方法介绍(二)
- Python while 循环使用的简单实例
- Python爬虫实战(2):爬取京东商品列表
- Pycharm2016.2注册码(python编码利器)
- Pandas DataFrame 日常的操作与发现
- Windows下 Python3.5 运行环境的搭建
- Python 网易云音乐 MV 下载
- Python 入门
- Eclipse+pydev2.2+python2.7 中文乱码问题