实现登陆功能,登陆三次锁定用户

目标:实现登陆功能,登陆三次锁定用户,没有数据库,用txt文本实现

name.txt

liubei|123456|3
zhugeliang|654321|3
zhangfei|123|3
machao|321|3
zhangsan|1122333|3
lisi|1231|3

file1 = open('name.txt','r')
file = file1.readlines()
file1.close()
#将每个用户名和密码做成数组
name_pass = []#定义全局变量
bo = True #是否有该用户名
for i in range(file.__len__()):
    name_pass.append(file[i].strip('\n').split('|'))
name = input('请输入您的id:')
name = name.strip(' ')
rname = []
for i in range(name_pass.__len__()):
    while name == name_pass[i][0] and int(name_pass[i][2]) > 0:#未锁住的用户
        bo = False
        print()
        password = input('请输入你的密码:')
        if password == name_pass[i][1]:
            print('欢迎光临%s登陆'%name_pass[i][0])
            exit()
        else:
            num = int(name_pass[i][2])-1
            print('你输入的密码有误,请重新输入,您还有%s次机会'%num)
            #准备写入次数,每次错误记录下来(写一个方法来直接组合数据歇会去)
            name_pass[i][2] = str(num)
            #将字符重新拼接
            if num in (0,1):#判断是否要修改剩下的次数
                rname.pop()
            rname.append('|'.join(name_pass[i]))
    rname.append('|'.join(name_pass[i]))
    while name == name_pass[i][0] and name_pass[i][2] == '0':#锁了的用户
        bo = False
        print('你的账户密码输入超过3次,已被锁定,请联系管理员')
        if i != rname.__len__() -1:#拼接时的一个判断
            rname.pop()
        break
rname = '\n'.join(rname)
file = open('name.txt','w')
file.write(rname)
file.close()
if bo:
    print('没有该用户名')

 

暂时就做那么点吧

转载于:https://www.cnblogs.com/pengzhi/p/10253287.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值