用户登录三次,禁止登录
Posted 关灯吃面
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户登录三次,禁止登录相关的知识,希望对你有一定的参考价值。
1 def menu(): 2 #用户交互界面 3 user_name = input("请输入在用户名:") 4 password = input("请输入密码:") 5 return user_name,password #以元组形式返回值 6 ‘‘‘ 7 alex 1314 8 ryan 6238 9 egon 1234 10 ‘‘‘ 11 def write(): 12 #将用户名、密码和登录次数在文件中写成字典的格式 13 user_name_password= {}#设置一个空字典装用户名、密码和登录次数 14 with open("test", encoding="utf8") as date, open("test2", encoding="utf8", mode="w") as revise: 15 for line in date: 16 line1 = line.strip().split() #以空格分隔后是列表形式 17 user_name_password.setdefault(line1[0],[line1[1],0])#key值为用户名,value值为[密码,登录次数] 18 user_name_password = str(user_name_password) #将字典转换成字符串 19 revise.write(user_name_password) #将字典转换成的字符串写入文件test2 20 21 22 def main(): 23 write() # 24 while True: 25 res = menu()#用户名和密码输入,返回值为元组形式(用户名,密码) 26 with open("test2",encoding="utf8") as date: 27 user_name_password = {} #创建一个空字典,接收用户、密码和登录次数的的数据 28 for line in date: 29 user_name_password = eval(line) #将用户、密码和登录次数数据转化为字典 30 if res[0] in user_name_password and user_name_password[res[0]][1] == 3: 31 #文件中登录名已记录三次,禁止登录 32 print("登录次数过多锁定") 33 break 34 if res[0] in user_name_password and res[1] in user_name_password[res[0]][0] and user_name_password[res[0]][1] < 3: 35 #用户、密码匹配成功和登录次数小于三次,登录成功 36 print("successful") 37 break 38 if res[0] in user_name_password and res[1] not in user_name_password[res[0]][0]: 39 #用户匹配,密码不匹配,拉入黑名单,登录次数+1 40 user_name_password[res[0]][1]=user_name_password[res[0]][1]+1 #登录次数+1 41 user_name_password.setdefault(res[0],user_name_password[res[0]][1]) #将字典中登录次数的信息进行修改 42 user_name_password = str(user_name_password) #将字典转换成字符串 43 with open("test3", encoding="utf8", mode="w") as revise: 44 revise.write(user_name_password) #匹配不成功,将信息写入文件 45 date.close() #改文件名需关闭文件 46 revise.close() #关闭文件需关闭文件 47 import os 48 os.rename("test2", "test_bak") 49 os.rename("test3", "test2") 50 os.remove("test_bak") #删除费文件 51 print("用户名或者密码错误,请重新输入") 52 else: 53 print("用户名或者密码错误,请重新输入") 54 main()
以上是关于用户登录三次,禁止登录的主要内容,如果未能解决你的问题,请参考以下文章
Life In Changsha College- 第三次冲刺
day01课程回顾,数据类型,(用户登录限制登录三次,购物车,省市县三级联动)
Life In Changsha College- 第三次冲刺
写代码:实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登录成功,否则失败,失败时允许重复输入三次。