实现登陆功能,登陆三次锁定用户
目标:实现登陆功能,登陆三次锁定用户,没有数据库,用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('没有该用户名')
暂时就做那么点吧