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此账户已经锁定,无法登陆,请联系管理员!
请输入您的用户名:

标题:Python小白练习题(四)
作者:lianglaifu
地址:https://llfu.life/articles/2022/08/23/1661245143483.html