Day1作业编写用户登陆接口
2018-08-03 07:36:12来源:博客园 阅读 ()
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # Author:Caesar yang 4 5 import getpass #导入模块隐藏密码 6 count = 0 #定义计数器 7 while count < 3: 8 name = input('username:') #输入用户名 9 with open('lock_file.txt','r+') as lock_list: #读取用户名锁定文件 10 for lock_line in lock_list: #循环文件内容 11 lock_line = lock_line.strip('\n') #去掉回车 12 if name == lock_line: #将用户名与文件内容比较,如果相同, 13 exit('用户%s已锁定,自动退出程序'%name) #退出程序,如果不同,往下执行 14 with open('username.txt') as user_list: #读取用户名文件 15 for user_line in user_list: #循环文件内容 16 (username,password) = user_line.strip('\n').split() #由于用户名与密码在一块,需要将用户名与密码拆分开分别进行比较 17 if name == username: #如果用户名相同,往下执行 18 j = 0 #定义一个新的计数器 19 while j < 3: 20 passwd = getpass.getpass('请输入密码:') #输入密码 21 if passwd == password: #如果密码正确 22 print('欢迎用户%s登陆!'%name) #打印标语 23 exit() #正常结束 24 else: #如果密码错误 25 if j != 2: #这里因为j=2以后就直接结束程序了所以直接跳过0次机会 26 print('密码输入错误!请重新输入!你还有%s次机会:'%(2-j)) 27 j += 1 #j+1以后继续while循环 28 else: #j=3时 29 lock_list.write(name + '\n' ) #将用户名写入锁定文件 30 exit('用户%s达到最大错误次数,已锁定账号!'%name) 31 else: #如果用户名不同往下执行 32 pass #跳过此循环 33 else: #用户名不同往下执行 34 if count != 2: #同样的道理,循环到第三次如果依旧错误将直接异常结束程序 35 print('用户%s不存在,请重新输入,还有%s次机会:'%(name,2-count)) 36 count += 1 #count+1以后继续for循环 37 else: #异常结束 38 exit('用户%s不存在,自动退出程序!'%name)
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python day1-requests 2019-08-13
- 列表和元组 2019-08-13
- Python习题001 2019-07-24
- 原创:Python编写通讯录,支持模糊查询,利用数据库存储 2019-07-24
- 100天搞定机器学习|Day13-14 SVM的实现 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