f=open('user.txt','r',encoding="utf-8") #打开用户文件 x=open('heimingdan.txt','r',encoding="utf-8") #打开黑名单文件 heimingdan=x.read().split(',') #逗号分隔 user={} #定义一个空字典 for line in f: #循环取值 user.setdefault(line.split()[0],line.split()[1]) #把用户名密码取到字典里面 count=0 #定义count计数重试次数 for i in range(5): #错误5次后自动退出 name=input("请输入用户名:") psw=input("请输入密码:") if name in heimingdan: #判断用户名是否在黑名单中 print("对不起,您输入的用户名因输错密码次数过多,已被锁定,请联系管理员") continue elif name in user: #判断是否在用户列表里面,如果在则判断密码是否正确 if psw==user.get(name):#判断密码是否和用户名匹配 print(name,"恭喜你登陆成功") break # 登陆成功跳出循环 else: if count<3: #密码输错小于3次的时候 count += 1 # 密码错误,count=count+1 print("对不起,密码错误,请重试!你还有", 4 - count, "次机会") else: #密码输错3次及以上的时候,加入黑名单 z=open("heimingdan.txt",'a',encoding="utf-8") #以追加方式打开heimingdan文件 z.write(name+",") #把用户名写入到黑名单中 z.close() #关闭文件z print("对不起,重试次数过多,用户名已锁,请联系管理员") break #跳出 else: print("用户名不存在") #输入的用户名不在黑名单中,也不在用户名中 x.close() #关闭文件 f.close() #关闭文件
模拟登陆
最新推荐文章于 2020-11-30 11:55:09 发布