python 3.5下用户登录验证,三次锁定的编码
#实现:用户登录三次,密码不正确,即锁定账户
f=open("userlist.txt","w")
f.write("Eric,king128\n")
f.write("Jack,king128\n ")
f.write("James,king128")
f.close();
# 测试取值情况
# f=open("userlist.txt","r")
# userInfo=f.readlines();
# for line in userInfo:
# print(line.strip().split(","))
# f.close();
count=0; #计数器,用来记录输入密码的次数
flag=1; #标记位
user_pass=[] #用来存储用户信息的列表
lock=[] #用来存储黑名单中的用户列表
username=input("请输入用户名:")
#读取黑名单的内容
f=open("black_list.txt","r")
lock_list=f.readlines();
f.close();
#将黑名单文件内容作为列表追加到锁定名单列表中
for i in lock_list:
line=i.strip(); #先将读取文件的空格去除
lock.append(line);
#若输入的用户名在黑名单中,给出提示信息,被锁定,无法登录
if username in lock:
print("User %s is locked"% username)
else:
while True:
count+=1;
passwd=input("请输入密码:")
#从用户列表中取用户信息
f=open("userlist.txt","r")
user_file=f.readlines();
f.close();
for i in user_file:
user_pass=i.strip().split(","); #接下来判断用户名是否等于user_pass[0],密码是否等于userpass[1]
if username==user_pass[0] and passwd==user_pass[1]:
print("Welcome user %s login" % username)
flag=True;
break;
else:
continue;
#若flag为真,则用户名和密码输入正确,反之,若输入密码错误的次数为3,则将用户名加入到黑名单中
if flag is True:
break;
else:
if count==3:
print("User %s has been Locked "% username)
lock_list=open("black_list.txt","w")
lock_list.write("%s\n" % username)
lock_list.close();
break;