• 登录程序优化


    需求如下:

    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
  • 相关阅读:
    怎么控制 echarts提示框浮层的内容
    控制echarts 柱状图啊的柱条的宽度
    如何控制echartsY轴颠倒
    mac mysql nginx
    input textarea 获取焦点挡住输入法 解决办法
    react 记录
    微信内自动播放audio
    react router
    mysql 记录
    express 插件
  • 原文地址:https://www.cnblogs.com/stin/p/7878172.html
Copyright © 2020-2023  润新知