python实战:用户登录认证

  1. 要求用户输入密码登录
  2. 用户信息要保存
  3. 用户密码输入错误三次后被锁,下次再登录也不行
    文件:account.db
    lisa,abc123,0
    jack,ssss3,0
    bob,ab333s,0
    accounts={
        #"bob":["bob","ab333s","0"],
    }
    f=open("account.db","r")
    for line in f:
        line=line.strip().split(",")
        accounts[line[0]]=line
    print(accounts)
    #3.搞个loop,要求用户输入账号信息,去判断
    
    while True:
        user=input("Username:").strip()
        if user not in accounts:#用户未注册
            print("该用户未注册")
            continue
        elif accounts[user][2]=="1":  #代表此账户已锁定
            print("此账户已锁定,请联系管理员")
            continue
    
        count = 0
        while count<3:
            passwd=input("Password:").strip()
            #去账号dict里去判断password对不对
            if passwd==accounts[user][1]:
                print(f"Welcome {user} 登录成功")
                exit()
            else:
                print("Wrong password")
            count+=1
    
            if count==3:
                print(f"输错了{count}次密码,需要锁定账户{user}")
                #1.先改在内存中dict账号信息的用户状态
                #2。把dict里的数据转成原account.db数据格式,并且存回文件
                accounts[user][2]="1"
                f2=open("account.db","w")
                for user,val in accounts.items():
                    line=",".join(val)+"\n" #把列表再转成字符
                    f2.write(line)
                f2.close()
                exit("再见")
    

     

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值