代码改变世界

用户登录控制

2019-09-10 23:42  七号当铺  阅读(40)  评论(0)    收藏  举报
#_*_ coding:utf-8 _*_

'''
编写登录接口:
1.输入用户名和密码登录
2.输错三次锁定账户
3.下次登录还是上次的账户,提示锁定,直接退出(用到文件读写)
4.成功 后显示登录成功
'''
lock = "D:/lock/lock.txt" #lock定义为锁定文件(需要先在D盘下建立一个名为lock的文件夹,文件夹下建立一个名为lock.txt的文档)
account = "D:/account/account.txt" #account定义为账户文件 (需要先在D盘下建立一个名为account的文件夹,文件夹下建立一个名为account.txt的文档)

count = 0 #计数器
flag = 1 #标识器
lock_user = [] #定义锁定用户列表为空

f1 = open(lock,'r') #打开锁定文件,并读取锁定账户
lock_file = f1.readlines()
f1.close()

for i in lock_file: #循环锁定账户,将账户追加到lock_user列表中
i = i.strip('\n')
lock_user.append(i)
f2 = open(account,'r') #打开账户文件,并读取用户和密码
account_file = f2.readlines()
f2.close()

while True:
name = input("input your name:") #输入你的用户名
passwd = input("input your password:") #输入你的密码
if name in lock_user: #如果输入的账户在锁定用户列表中,退出循环;
print("用户已被锁定!")
break
else:
count += 1 #否则计数器加count+1
if count > 2: #如果count大于2,也就是输错三次
print("密码错误三次")
with open(lock,'a') as f: #将账户添加到锁定账户中
f.write("\n" + name)
break
else: #如果count小于2,
for i in account_file: #循环输入的用户名和密码,是否和账户文件里边的一样
n1,p1 = i.strip().split()
if name == n1 and passwd == p1:
print("欢迎用户登录成功!!")
flag = True #如果账户密码一样,flag标识为True
else: #如果输入账户密码和文件存储的不一样,则跳出本次循环
continue #跳出本次循环
if flag is True: #如果flag标识为True,退出整个循环
break