Day1 Python-编写登陆认证程序
2018-06-18 02:55:05来源:未知 阅读 ()
编写登陆认证程序
基础需求:
让用户输入用户名密码
认证成功后显示欢迎信息
输错三次后退出程序
升级需求:
可以支持多个用户登录 (提示,通过列表存多个账户信息)
用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
思路:
1、基本需求通过一个while循环就可以解决,每次输入错误count+1,count<3就结束。
2、升级需求,若去掉“再次启动程序尝试登录时,还是锁定状态”的话,可以通过列表嵌套列表来实现,支持多个用户登录。
3、支持多用户且有账户锁定状态,可以将账户信息和锁定状态存入文件中,登陆验证时再把文件读出来进行对比,若锁定则无法登陆,若账户未锁定且密码正确就登陆成功。
4、文件名称可以以账户名称来命名,文件存储格式可以如下
['wllen', '123456', 1] # 第一个值为用户名,第二个值为用户密码,第三个值为账户锁定状态,暂定1可以登陆,0为锁定
代码如下:
1 #!/usr/bin/env python 2 # -*- coding=utf-8 -*- 3 """ 4 @author:Wllen 5 @file:account.py 6 @time:2018/5/29 11:45 7 """ 8 import os 9 count = 0 10 user_input = [] # 用来存储每次输入的用户名,为后面判断三次输入同一个用户名锁定用户做准备 11 while count < 3: # 密码错误时循环三次 12 username = input('请输入您的用户名:').strip() 13 userpasswd = input('请输入您的密码:').strip() 14 account_file = "db/%s" % username 15 if os.path.isfile(account_file): # 导入系统模块,判断输入username名称的文件是否存在 16 f = open(account_file,'r', encoding='utf-8') 17 account = eval(f.read()) # 文件存储的就是列表格式,读取的时候时字符串,需要转换成原来的格式 18 f.close() 19 if account[2] == 1: # 判断用户是否是锁定状态,0为锁定 20 if username == account[0] and userpasswd == account[1]: 21 print("欢迎%s来到Python的世界!"% username) 22 break 23 else: 24 count += 1 25 user_input.append(username) 26 print("您的账号或密码错误,请重新输入!剩余次数%s" % (3 - count)) 27 else: 28 print('用户名%s已被锁定,请联系管理员处理!'% username) 29 else: 30 print("没有此用户,联系管理员创建!") 31
32 if user_input[0] == user_input[1] and user_input[1] == user_input[2]: 33 account[2] = 0 34 with open("db/%s"% user_input[0], 'w', encoding='utf-8') as f: 35 f.write(str(account)) 36 print('用户%s已经被锁定!'% user_input[0])
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:学习笔记,函数
- python day1-requests 2019-08-13
- 列表和元组 2019-08-13
- Python-19-元类 2019-07-24
- Python-17-反射 2019-07-24
- 原创:Python编写通讯录,支持模糊查询,利用数据库存储 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash