模拟登陆

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() #关闭文件











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值