• Day1 login


    使用流程:

    1.程序启动后,显示欢迎信息,提示用户输入用户名;

    2.判断用户是否存在,不存在则提示重新输入,或者关闭程序;客户存在则提示客户输入密码;

    3.判断密码是否正确,如果不正确则提示用户重新输入,输入第三次依然错误,则锁定该账户;

    4.密码输入正确时,后台进程判断用户是否被禁用,“禁用”时提示用户联系管理员;没有禁用则显示登录成功欢迎信息。

    系统设计:

    (循环登录次数增加,来禁用账户,试了 n 次,还在研究;初步实现用两个文件来实现用户验证)

    1.本程序运行需要依赖两个基础文件;user_list:保存用户名以及密码 ;black_list:黑名单;

    2.程序运行开始后,先读取两个文件的内容,按行依次循环遍历整个文件;

    3.待用户输入用户名后验证用户是否存在;存在则提示输入密码,再校验密码;密码正确,开始校验用户是否在黑名单,如果在。则提示用户联系管理员;不存在,则登录成功。

    4.密码输入错误,则循环,第三次还错误,将该用户加入黑名单。

    login_user = input('请输入您的账号:')
    black_list = open('/Users/kamil/PycharmProjects/s20160115_1/day1/homework/blacklist','r+')
    #可写方式打开黑名单
    lock_list = black_list.readlines()
    #读取整个文件
    for lock_user in lock_list:
        #读取整个文件的 user 列表
        lock = lock_user.split()
        #去除空行影响
    user_file = open('/Users/kamil/PycharmProjects/s20160115_1/day1/homework/name.txt','r+')
    #可读方式打开user
    user_list = user_file.readlines()
    for user_info in user_list:
        user = user_info.split()
    #    print(user)
        if login_user == user[0]:
            count = 3
            #设置一个可循环次数
            while count > 0 :
                #保证 count>0
                login_passwd = input('请输入您的密码:')
                if login_passwd in user[1]:
                    #如果密码正确开始判断用户是否被锁定
                    if login_user == lock[0]:
                        print('账号之前被锁定,请联系管理员')
                        #用户在黑名单
                        exit()
                    else:
                        print('登录成功')
                        #不在黑名单
                    exit()
                else:
                    count = count - 1
                    print('密码输入错误,您还有%d次机会'%(count))
                    #提示剩余的次数
            else:
    
                 black_list.write(login_user + '
    ')
                 #把被锁定的账号写入到文件中换行保存
                 exit('账号已被锁定,下次禁止登录')
    else:
        print('账号不存在')
        exit()
    user_file.close()
    lock_file.close()
    #关闭文件
    
    黑名单:
    liukun
    jim
    
    
    user_list
    
    jim 123ewq
    lucy 321
    liukun 3
    
    公众号请关注:侠之大者
  • 相关阅读:
    ubuntu20.04.2设置配置静态ip方法
    如何在windows10上面运行HyperLedger Fabric1.4
    powershell中临时修改环境变量
    openssl查看pem格式证书细节
    git clone的时候遭遇fatal: early EOF fatal: index-pack failed解决办法
    修改sourcetree的推送账户
    ubuntu上kafka的配置与使用(二)--kafka和zookeeper集群的配置(kafka自带的zookeeper)
    ubuntu上kafka的配置与使用(一)--单机kafka的配置
    李航老师的《统计学习方法》第二章算法的matlab程序
    第8题——计算糖果
  • 原文地址:https://www.cnblogs.com/kamil/p/5143116.html
Copyright © 2020-2023  润新知