标签:[] 输入密码 自动 ase not 代码 对不起 item lock
1.正常用户存储文件:users
2.锁定用户存储文件:lock_name
3.执行程序:
while True: #while循环。 name=input("please input your name:").strip() #引导用户输入用户名。 psw=input("please input your psw:").strip() ##引导用户输入密码。 dict = {} #建立一个空字典 list = [] #建立一个正常用户名待导入的空列表。 list2=[] #建立一个锁定用户待导入的空列表。 flag=0 #创建一个标志位,默认关闭。 count = 0 #计时器。 with open("users",encoding="utf8") as fire1,open("lock_name", encoding="utf8") as fire:#打开正常用户存储文件和锁定用户存储文件 for i in fire: #遍历锁定用户文件。 list2.append(i.strip()) #将锁定文件内用户名导入列表list2。 for p in fire1: #遍历正常用户文件。 name_a, psw_a = p.strip().split("---") #按列表格式导出相对应的用户名跟密码。 list.append(p.strip().split("---")) #将导出的列表再嵌套倒列表list中。 for i in list: #遍历列表list dict[i[0]] = i[1] #将列表list转成字典。 for j in list2: #遍历锁定列表list2。 if name==j: print("对不起,您的用户名目前为锁定状态!") exit() #判断输入的用户名是否在list2,如果在就提示为锁定用户并且退出,否则跳到下层代码。 if name not in dict.keys(): print("用户名不存在!") continue #如果用户输入的用户名不在正常用户列表,提示用户并重新输入。 while count<3 and flag==0: #循环范围计时器小于3次,标志位为关闭。 for key,value in dict.items(): #遍历字典键值对。 if name==key and psw==value: #如果输入的用户名跟密码与键值对相对应。 print("".join(["欢迎",name,"用户!"])) #提示登陆成功。 flag=1 #同时标志位开关打开。 break #跳出本层循环。 if name==key and psw!=value: #如果用户名正确而密码不正确。 print("您的密码错误!") #提示密码不正确。 count+=1 #计时器+1。 if count==3: #当计时器等于3时。 with open("lock_name",mode="a+",encoding="utf8" ) as fire: #a+模式打开锁定文件。 fire.write("\n") fire.write(name) #将超过三次错误的用户名追加方式写进文件。 print("您的用户名已锁定!") exit() #并且退出程序。 psw = input("please input your psw:").strip() #不超过三次提示继续输入密码。 print("欢迎您继续进行您想要的操作:") #登陆成功后执行当层程序代码。
标签:[] 输入密码 自动 ase not 代码 对不起 item lock
原文地址:http://www.cnblogs.com/mrpengfei/p/6683668.html