zoukankan      html  css  js  c++  java
  • python用户名密码限定次数登录

    """
    1. 用户输入帐号密码进行登陆
    2. 用户信息保存在文件内
    3. 用户密码输入错误三次后锁定用户"
    """

    test.txt里的内容为{"wang": "123", "niu": "234"}
    test_lock.txt的内容为["wang"]


    具体代码如下:
    f=open('test.txt','r',encoding='utf-8') #用户信息,里面的格式为字典格式
    f_lock=open('test_lock.txt','r+',encoding='utf-8') #锁定用户名文件,里面的格式为列表格式
    data=eval(f.read()) #将字符串转化为字典
    data_lock=eval(f_lock.read())#将字符串转化为列表
    # print(data_lock)
    
    lage=True #b标识符
    count=1 #计数,密码输入错误次数
    
    while lage:
        uname=input("请输入用户名:")
        passwd=input("请输入密码:")
    
        if uname not in data_lock: #判断输入的用户名是否被锁定,锁定则退出
            if uname in data.keys(): #判断输入的用户名是否在用户文件中
                if passwd==data[uname]: #判断该用户的密码是否正确
                    print("欢迎%s登陆!!!"%uname)
                    break
                elif count<3: #密码输入次数不大于3次
                    count+=1
                    print("输入的密码错误,请重新输入。。。")
                else:
                    print("密码输入错误3次,该用户被锁定!")
                    data_lock.append(uname)
                    f_lock.write(str(data_lock)) #密码输入次数大于3次将用户名加入到锁文件中
                    lage=False
            else:
                print("输入的用户名不存在请重新输入。。。")
        else:
            print("您输入的用户名%s已经被锁定,请解锁!"%uname)
            lage=False
    
    

    执行结果如下:

  • 相关阅读:
    Android 逐帧动画
    MAP getLastKnownLocation()返回null的解决
    大数取余
    (a^b)%c和(a/b)%c
    HDU1046 Gridland
    顺序入栈的出栈方法种数
    HDU1021 Fibonacci Again
    HDU1019 Least Common Multiple
    HDU1018 Big Number
    HDU1013 Digital Roots
  • 原文地址:https://www.cnblogs.com/hanhan914-wang/p/7423459.html
Copyright © 2011-2022 走看看