1 #!/user/bin/env python 2 # -*- coding:utf-8 -*- 3 __author__ = ‘Howie‘ 4 ‘‘‘ 5 作业要求: 6 1.输入用户密码 7 2.认证后显示欢迎信息 8 3.输错三次后锁定 9 ‘‘‘ 10 ############################## 11 ‘‘‘ 12 readme: 13 这是一个登陆接口脚本,要求输入正确的用户名和密码,如果输入三次失败后将被锁定。 14 现在还有一个BUG就是三次输入错误的时候只会调取最一次的用户名来锁定。 15 ‘‘‘ 16 account_file = ‘user.txt‘ 17 lock_file = ‘account_lock.txt‘ 18 userpass = ‘F‘ 19 count = 0 20 while userpass == ‘F‘ and count <3: 21 Username = input(‘输入用户名:‘) 22 Password = input(‘输入密码:‘) 23 count +=1 24 with open(lock_file,‘r‘) as f: #打开锁定用户列表 25 for line in f.readlines(): #遍历文档每一行 26 username = line.strip() #把每一行的字符串以空格分拆,并且赋值 27 if Username == username: #判断用户是否在锁表中 28 print(‘您的账户被锁定‘) 29 userpass = ‘L‘ 30 break 31 if userpass == ‘L‘:#当被标记为L时跳出white循环 32 break 33 with open(account_file,‘r‘) as f: #打开用户列表 34 for line in f.readlines(): #遍历文档每一行 35 username,password = line.strip().split() #把每一行的字符串以空格分拆,并且赋值 36 if Username == username and Password == password:#判断用户名和密码都正确 37 print(‘成功登陆‘) 38 userpass = ‘T‘ 39 break #成功校验后标记为T并且跳出当前循环到while判断标记为T然后跳出所有循环 40 if count >=3 and userpass == ‘F‘:#精确判断次数和标记 41 print("错误次数过多,账号被锁") 42 with open(lock_file,‘a+‘) as L: 43 L.write(‘\n‘) 44 L.write(Username)
登陆接口代码
这个是我第一次用python写那么多的代码
写得很差
我觉得最重要的就是要分清楚循环的等级关系就可以了
时间: 2024-11-05 12:00:54