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
  • 相关阅读:
    时间和时间戳的转换
    遍历Map的四种方法
    MyEclipse2015Stable3.0破解方法
    java 解压缩Zip文件 ziputil
    java Lock
    javaCountDownLatch闭锁
    JavaNIO非阻塞模式
    JavaNIO阻塞IO添加服务器反馈
    JavaNIO阻塞IO
    java三级考试理论题
  • 原文地址:https://www.cnblogs.com/stin/p/7878172.html
Copyright © 2011-2022 走看看