Python小白练习题(四)
2022-08-23
需求
用户登录小程序
1、用户登录输入用户名和密码,判断存在才登录
2、用户输入密码错误3次直接锁定账户,下次无法登陆
思路
我们可以用一个文件模拟数据库存储用户的数据,“1”代表锁定,“0”代表可以登陆
代码
login.py
account_info = {}
f = open(file="test1.txt")
for line in f:
line = line.strip().split(",")
account_info[line[0]] = line
while True:
username = input("请输入您的用户名:").strip()
if username not in account_info:
print(f"{username}用户不存在,请重新输入!")
continue
if account_info[username][2] == "1":
print(f"{username}此账户已经锁定,无法登陆,请联系管理员!")
continue
count = 0
while count < 3:
passwd = input("请输入您的密码:")
if passwd == account_info[username][1]:
print(f"欢迎{username}VIP用户登录成功,Welcome!")
exit("请您继续操作,Bye...")
else:
print(f"尊敬的{username}用户,您输入的密码错误,请重新输入,输错三次将锁定账户!")
count += 1
if count == 3:
print(f"{username}用户输错密码{count}次,账户已锁定!")
# 将文件中的数字标识改为"1"表示账户锁定
account_info[username][2] = "1"
f2 = open("test1.txt", "w")
# 遍历用户信息,拼接锁定账户后的信息
for user_key, info_val in account_info.items():
line = ",".join(info_val) + "\n"
f2.write(line)
f2.close()
exit("Bye...")
text1.txt
laifu,123456,0
wangcai,abc,1
changwei,abc,1
测试
1、输错用户名
请输入您的用户名:wangcai908
wangcai908用户不存在,请重新输入!
请输入您的用户名:laifu
2、输错密码
请输入您的用户名:laifu
请输入您的密码:mimgkl20kgs
尊敬的laifu用户,您输入的密码错误,请重新输入,输错三次将锁定账户!
请输入您的密码:
3、输入三次密码锁定账户,再次登陆看是否能登陆
请输入您的用户名:laifu
请输入您的密码:f32saf
尊敬的laifu用户,您输入的密码错误,请重新输入,输错三次将锁定账户!
请输入您的密码:3t3gs
尊敬的laifu用户,您输入的密码错误,请重新输入,输错三次将锁定账户!
请输入您的密码:mfmkl32f
尊敬的laifu用户,您输入的密码错误,请重新输入,输错三次将锁定账户!
laifu用户输错密码3次,账户已锁定!
Bye...
请输入您的用户名:laifu
laifu此账户已经锁定,无法登陆,请联系管理员!
请输入您的用户名: