python 1--登录
登录功能
需求:开发一个用户登录模块(包含知识点:循环/字典/列表/文件操作)
1 # 需求:通过文件中记录的"用户名/密码/锁定次数",开发一个用户登录模块(包含知识点:循环/字典/列表/文件操作) 2 # 1/打开用户名密码的文件,读取文件中的用户信息,关闭文件 3 file = open("userinfo.txt", "r",encoding="utf-8") 4 user_list = file.readlines() 5 print(user_list) 6 file.close() 7 8 # 2/先定义一个空字典,然后在文件中循环遍历每组数据获取用户名和密码,输入次数为键值对来存储在字典中 9 user_dict = {} 10 for user_item in user_list: 11 user_str = user_item.split(";") # 以文本中的;为分隔符,把文件存在 12 #print(user_str) # 获取每组用户名和密码。输入次数 13 14 #print(user_str[0]) #获取每组中的用户名 15 #print(user_str[1]) #获取每组中的密码 16 #print(user_str[2].strip()) #获取每组数据中的密码的输入次数0 17 18 user_dict[user_str[0]] = {"pwd": user_str[1], "times": int(user_str[2].strip())} 19 20 #print(user_dict) 21 #print(user_dict.keys()) 22 # print user_dict.values() 23 # print user_dict.items() 24 25 # 3/使用循环包含所有的场景:用户名不存在/密码输入错误/密码输入错误三次,锁定/用户名和密码输入正确成功登录 26 27 while True: 28 username = input("请输入用户名:") 29 if username not in user_dict.keys(): 30 print("您输入的用户名不存在,请重新输入!") 31 else: 32 password = input("请输入密码:") 33 34 if user_dict[username]['times'] == 2: 35 print("您的账户已冻结,请联系中*银行!") 36 break 37 else: 38 if password == user_dict[username]["pwd"]: 39 user_dict[username]['times'] = 0 40 print("欢迎登录,%s! " % username) 41 break 42 else: 43 user_dict[username]["times"] += 1