登陆接口要求:
输入用户名密码
认证成功后显示登陆成功信息
输错三次后锁定并追加到user_lock文件
一、只针对帐号文件里的用户进行判断并锁定,针对用户和密码各有三次错误重试机会。
1、流程图如下:
![](https://images2015.cnblogs.com/blog/1158316/201705/1158316-20170522151730320-250589367.png)
2.代码如下
1 #! usr/bin/env python
2 import sys,os,getpass
3 #os.system('clear')
4 i = 0
5 while i<3:
6 name = input("请输入你的用户名:")
7 lock_file = open('user_lock.txt','a+')
8 # lock_list = lock_file.readlines()
9
10 for lock_line in lock_file:
11 lock_line = lock_line.strip('\n')
12 if name == lock_line:
13 sys.exit('用户%s已经被锁定,退出了'%name)
14
15 user_file = open('user.txt','r')
16 user_list = user_file.readlines()
17 for user_line in user_list:
18 (user,password) = user_line.strip('\n').split()
19 if name == user:
20 j=0
21 while j<3:
22 passwd = input('请输入你的密码:')
23 if passwd == password:
24 print('用户%s,恭喜你登陆成功!'%name)
25 sys.exit(0)
26 else:
27 if j != 2:
28 print('你好!%s密码错误,请重新输入,你还有%d次机会'% (name,2 - j ))
29 j += 1
30 else:
31 lock_file.write(name + '\n')
32 sys.exit('非常抱歉,用户%s达到最大登陆次数,将锁定并且退出!'% name)
33 else:
34 pass
35 else:
36 if i != 2:
37 print('用户名%s不存在,请重新输入,还有%d次机会'% (name,2 - i ))
38
39 i += 1
40 else:
41 sys.exit('用户%s不存在,即将退出'% name)
######