登录程序优化

需求如下:

1、用户的账号密码以(用户名,密码)的格式存放在userInfo文件中,可存多个用户的
2、在控制台输入账号密码
3、若输入正确,会弹出“登陆成功”的提示
4、若输入错误,需要重新输入,输入超过三次,账号会被锁定

优化前代码:
flag1 = True
input_count = 1
while flag1:
    user_name = input("请输入用户名:").strip()
    password = input("请输入密码:").strip()
    if user_name == '':
        print("用户名不能为空,请重新输入")
    elif password == '':
        print("密码不能为空,请重新输入")
    else:
        input_user = user_name+','+password
        users = []
        f = open('userInfo',mode='r',encoding='utf8')
        for line in f :
            users.append(line.strip())
        f.close()
        while input_count <= 3:   # 这个while循环其实是多余的
            if input_user in users:
                print("登陆成功!")
                flag1 = False
            else:
                if input_count == 3:
                    print("账户已被锁定,如有疑问请联系管理员!")
                    flag1 = False
                else:
                    print("用户名或密码不正确,你还可输入 %d次"%(3-input_count))
                    input_count += 1
            break

优化后代码:

flag1 = True
input_count = 1
while flag1:
    user_name = input("请输入用户名:").strip()
    password = input("请输入密码:").strip()
    if user_name == '':
        print("用户名不能为空,请重新输入")
    elif password == '':
        print("密码不能为空,请重新输入")
    else:
        input_user = user_name+','+password
        users = []
        f = open('userInfo',mode='r',encoding='utf8')
        for line in f :
            users.append(line.strip())
        f.close()
        if input_user in users:
            print("登陆成功!")
            flag1 = False
        else:
            if input_count == 3:
                print("账户已被锁定,如有疑问请联系管理员!")
                flag1 = False
            else:
                print("用户名或密码不正确,你还可输入 %d次"%(3-input_count))
                input_count += 1
原文地址:https://www.cnblogs.com/stin/p/7878172.html