python登录系统三次锁定_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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python实现用户登录,错误三次锁定的方法可以通过以下步骤实现: 1. 首先,我们可以使用一个字典来存储已注册的用户信息,将用户名作为键,密码作为值,例如:user_info = {'user1': 'password1', 'user2': 'password2'} 2. 然后,我们可以使用一个变量来记录用户输入密码错误的次数,初始值为0。 3. 接下来,使用一个循环来实现用户登录的功能,循环条件为错误次数小于3。 4. 在循环内部,首先让用户输入用户名和密码。 5. 接着,通过判断用户输入的用户名是否在user_info字典的键中,以及对应的密码是否与用户输入的密码匹配来判断用户是否登录成功。 6. 如果登录成功,则跳出循环,并输出登录成功的提示信息。 7. 如果登录失败,则错误次数加1,并输出密码错误的提示信息。 8. 当错误次数达到3时,输出锁定账户的提示信息,并跳出循环。 以下是一个简单的例子来实现上述功能: ``` user_info = {'user1': 'password1', 'user2': 'password2'} error_count = 0 while error_count < 3: username = input("请输入用户名:") password = input("请输入密码:") if username in user_info.keys() and user_info[username] == password: print("登录成功!") break else: error_count += 1 print("密码错误,请重试!") if error_count == 3: print("输入错误次数过多,账户已锁定!") ``` 这样,当用户输入错误的密码次数达到3次时,程序会输出"输入错误次数过多,账户已锁定!"的提示信息,避免了用户尝试无限次的机会。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值