zoukankan      html  css  js  c++  java
  • Python-用户登陆,密码失败3次,账户将被锁住(login)

    1.重置用户信息

    #!/usr/bin/env python
    #_*_ coding:utf-8 _*_  
    #encoding=utf-8
    #初始化用户信息
    #created by xkq
    #date: 2018
    import pickle
    user={'xkq':{'pw':'123xk','time':3,'status':'unlock','money':10000},'zq':{'pw':'123','time':3,'status':'unlock','money':10000}}
    print(user)
    f=open('user.pickle','wb')
    pickle.dump(user,f)
    f.close()
    # f=open('user.pickle','rb')
    # a=pickle.load(f)
    # print(a)
    # f.close()

    2.用户登陆

    #!/usr/bin/env python
    #_*_ coding:utf-8 _*_  
    #encoding=utf-8
    #功能:用户登陆,密码失败3次,账户将被锁住
    #created by xkq
    #date: 201803
    import pickle,sys,getpass
    file='F:\PyCharm\script\day1\user_login\user.pickle'
    f=open(file,'rb')
    user_all=pickle.load(f)
    #print(user)
    f.close()
    '''
    user['dq']={'pw': 123, 'time': 3, 'status': 'unlock'}
    user['zq']['time']=0
    user['zq']['status']='lock'
    f=open('user.pickle','wb')
    pickle.dump(user,f)
    f.close()
    '''
    def write_user():
        #print(user_all)
        f = open(file, 'wb')
        pickle.dump(user_all, f)
        f.close()
    
    def logion():
        FLAG=False
        #print(user_all)
        user=input('请输入用户名:')
        while user not in user_all.keys():
            print('用户名不存在,请重新输入')
            user = input('请输入用户名:')
            if user == "exit":
                sys.exit()
        else:
            if user_all[user]['status'] =='unlock':
                    password = input('请输入密码:')
                    #password = getpass.getpass('请输入密码:')
    
                    while password != user_all[user]['pw']:
                        #print(type(user_all[user]['pw']))
                        user_all[user]['time'] -=1
                        if user_all[user]['time'] == 0:
                            user_all[user]['status'] = 'lock'
                            print('密码连续输入不正确,用户%s已被锁,请联系400-123456进行解锁。' % user)
                            write_user()
                            sys.exit()
                        #print(user_all[user]['time'])
                        print('密码不正确,你还有%s次机会会,请重新输入:'%user_all[user]['time'])
                        # password = getpass.getpass('请输入密码:')
                        password = input('请输入密码:')
                        if password == 'exit':
                            write_user()
                            sys.exit()
                    else:
                        user_all[user]['time']=3
                        print('33[36;1m欢迎登陆33[0m')
                        write_user()
                        FLAG = True
    
            else:
                print('33[31;1m用户%s已被锁,请联系400-123456进行解锁.33[0m'%user)
                sys.exit()
        #return FLAG
        return user
    if __name__ == '__main__':
        logion()
    

      

  • 相关阅读:
    jquery each() 方法跳出循环
    webpack 启动 vue
    HTML DOM insertBefore() 方法 问题
    浮动元素的高度怎么撑起
    jquery toggle 方法被废除的替代方法
    函数声明和函数表达式
    href与src 区别
    ThreadLocal用法
    《计算机网络》ISO/OSI参考模型分层协议
    解决Idea创建的maven Web项目无法连接mysql数据库
  • 原文地址:https://www.cnblogs.com/qqran/p/8800067.html
Copyright © 2011-2022 走看看