python记录登录次数

user_pw=open('username_file','r+',encoding='utf_8')  #打开存放用户名和密码的文件
lock_user=open('lock_file','r+',encoding='utf-8') #打开存放被锁定用户的文件
LU=[]#用来存放被锁定用户的用户名
UP_user=[] #用来存放文件中已有的用户名
UP_pw=[]#用来存放文件中已有用户的密码
in_user=[]#存放运行过程中用户输入的用户名,用来判断用户输入某一个用户名的次数是否超过3次
count=0 #计算用户的登录次数
count1=0 #计算用户输入密码的次数
#读取文件中存放的用户名和密码,并存放到列表UP_user和UP_pw中
for line in user_pw.readlines():
    u,p=line.split()#把一行的字符串按空格分割成两个字符串
    UP_user.append(u)
    UP_pw.append(p)
#读取用户名被锁定的用户,存放到列表LU中
for line in lock_user.readlines():
    l=line.strip()
    LU.append(l)
#用户输入用户名、密码少于三次
while count<3:
    user=input("请输入用户名")
    in_user.append(user)
    pw=input("请输入密码")
    if user in LU:#判断输入的用户名是否在被锁定用户中
        print("用户已锁定")
        break
    if user in UP_user:#输入的用户名没有被锁定
        i=UP_user.index(user)#找到输入的用户名在列表中的索引值
        if pw==UP_pw[i]:#找到相同索引的密码判断和输入的密码是否一致
            print("登录成功")
            break
        else:
            print("密码错误")
            while count1<2:#用来判断用户输入了几次密码(一共三次,最开始已经输入了一次,所以还剩两次)
                pw1=input("请重新输入密码")
                if pw1==UP_pw[i]:
                    print("登录成功")
                    break
                else:
                    print("密码错误")
                count1+=1
            count=3
            break
    else:
        print("该用户名未注册,注册请输入'yes',按任意键重新输入用户名")
        a=input()
        #注册
        if a=='yes':
            print(user)
            print(pw)
            user_pw.write(user+' '+pw+'\n')#把用户名密码存放到文件中
            UP_user.append(user)#把用户名和密码存放到数组中
            UP_pw.append(pw)
            print('注册成功')
    count+=1
if count==3:
    print("您输入的次数太多")
    for iu in in_user:
        if in_user.count(iu)>=3:
            lock_user.write(iu+'\n')#把输入超过三次的用户名锁定到文件中
            print('用户名'+iu+'已锁定')
            break
lock_user.closed
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值