#!coding=utf8 auth_file = open(‘user‘)auth_list = auth_file.readlines()auth_file.close()#生成用户列表n = 0while n < 3: #整个程序循环三次,都不对就退出 n+=1 #循环一次加1 #遍历锁定文件,添加到列表中 lock = open(‘bad‘) #打开锁定文件 lock_list = [] #定义一个空列表 for i in lock.readlines(): #遍历出锁定文件 line = i.strip(‘\n‘) #去掉换行符 lock_list.append(line) #把字符串添加到列表中 lock.close() #关闭文件 #制定状态,以便于后面判断状态,退出循环 loginstatus = False #登陆状态默认为False userstatus = False #用户名状态默认为Flase #输入用户名并判断是否在列表中(正常和锁定列表) username = raw_input(‘plesae inpout you username:‘).strip() #用户输入用户名 去掉空格 if username in lock_list: #判断用户输入的用户名是否在锁定列表里,如果在 print ‘you are in the block list‘ #就打印 break #结束while循环 break 结束整个循环 for i in auth_list:# 遍历用户列表 auth = i.split() #以空格分割 if username == auth[0]: #如果用户输入的用户名在用户列表里 userstatus = True #把用户名状态改为True for i in range(3): # 循环三次 passwd = raw_input(‘please input your password:‘).strip() #让用户输入密码 if passwd == auth[1]:#如果输入的密码对了 print (‘welcome to beijing‘) #打印 loginstatus = True #把登陆状态改为True break #退出for循环 else:#否则打印错误的密码 print(‘Wrong passwd‘) else:#for循环的else,三次循环以后 lock = open(‘bad‘,‘a‘) #打开锁定文件 lock.write(‘%s\n‘ % username) #写入用户输入的用户名 lock.close() #关闭文件 print (‘Entred 3 times of wrong passwd,going to lock %s!" % username‘) #打印 if loginstatus is True:#如果登陆状态为True break#退出for循环 if loginstatus is True: #遍历用户列表后,如果登陆状态为True break#退出while循环 elif userstatus is False:#否则如果用户名状态为False print (‘Please check your username!‘) #打印
时间: 2024-07-28 18:25:19