zoukankan      html  css  js  c++  java
  • 登录程序优化

    需求如下:

    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
  • 相关阅读:
    swift mac 使用git, 并使用osc, 打开当前目录命令在终端输入 open . windows 下为start .
    压力测试-jmeter
    nginx在线与离线安装
    数据库架构简要解析
    maven-build-downloading
    springboot-权限控制shiro(二)
    mysql8报错解析
    springboot-权限控制shiro(一)
    pycharm问题解析(connecting to console)
    springboot-热部署Jrebel
  • 原文地址:https://www.cnblogs.com/stin/p/7878172.html
Copyright © 2011-2022 走看看