python作业之用户三次登录及锁定
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python作业之用户三次登录及锁定相关的知识,希望对你有一定的参考价值。
三次登录答案:
用户密码文件:
#file:passwd lulu|123 luchuan|123
用户锁定文件:
#file:locked lulu
代码:
count = 0 # 输入三次后确定是否继续,计数器 lock_num = 1 # 三次密码错误后锁定,计数器 while 1: count += 1 # 计数器 if count <= 3: # 输入小于等于3次,则提示输入账号和密码 username = input("pls input username:") password = input("pls input password:") elif count > 3: # 输入三次后,确认是否需要继续 confirm = input("确定是否需要继续! y/n:").strip() if confirm == "y": count = 1 username = input("pls input username:") password = input("pls input password:") elif confirm == "n": # "n" 是退出程序 exit("已退出,再见!!!") username = input("pls input username:") password = input("pls input password:") with open("passwd",mode="r",encoding="utf8") as f_read,open("locked",mode="r+",encoding="utf8") as f_write: # 打开用户密码文件和锁定文件 for lock in f_write: # 判断账户是否已经被锁定 lock_user=lock.strip() if username == lock_user: print("账号已被锁定,请联系管理员解锁") break else: # 如果没有被锁定,则进行匹配用户名和密码操作 for line in f_read: user=line.strip().split("|")[0] # 用户名 pwd=line.strip().split("|")[1] # 密码 if username == user: # 正确的匹配用户名 if password == pwd: # 正确的匹配密码,显示登录成功 print("登录成功") lock_num = 0 # 登录成功后,锁定计数器改为0 break else: # 密码输入错误 print(lock_num) if lock_num >= 3: f_write.write(user+"\n") print("错误输入超过三次,账号已被锁定,请联系管理员解锁") lock_num = 0 # 锁定用户名后,计数器改为0 break print("密码输入错误,请重新输入") break else: print("密码输入错误,请重新输入") # 账号不存在,重新输入 lock_num += 1
以上是关于python作业之用户三次登录及锁定的主要内容,如果未能解决你的问题,请参考以下文章