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

执行结果如下:

posted on 2017-08-24 15:44  hanhan914wang  阅读(613)  评论(0编辑  收藏  举报

导航