day13作业—(登录注册)
2.写一个函数完成三次登陆功能:
- 用户的用户名密码从一个文件register中取出。
- register文件包含多个用户名,密码,用户名密码通过|隔开,每个人的用户名密码占用文件中一行。
- 完成三次验证,三次验证不成功则登录失败,登录失败返回False。
- 登陆成功返回True。
def login(): for em in range(3): #三次跳出 my_user, my_pwd = input('user|pwd:').strip().split('|')#列表分别赋值 with open('register','r',encoding='utf-8')as f: for i in f: user,pwd = i.strip().split('|') if my_user == user and my_pwd ==pwd: return True else: print('用户名或密码错误') else: return False#三次跳出 print(login()) #return 返回True 打印
3.再写一个函数完成注册功能:
(1)用户输入用户名密码注册。
(2)注册时要验证(文件regsiter中)用户名是否存在,如果存在则让其重新输入用户名,如果不存在,则注册成功。
(3)注册成功后,将注册成功的用户名,密码写入regsiter文件,并以 | 隔开。
(4)注册成功后,返回True,否则返回False。
-
def register(): lis = [] while 1: with open('regsiter', 'r+', encoding='utf-8')as f: user, pwd = input('user|pwd').strip().split('|') for i in f.read().strip('').split('\n'): # ['liuyang|123', 'mengge|234', 'qingge|345', 'binge|456', 'hongjunge|567'] my_user, my_pwd = i.split('|') # ['liuyang', '123'] liuyang 123 lis.append(my_user) if user in lis: print('重新输入') return False # 注释了这两句 可以一直输出 else: f.write(f'\n{user}|{pwd}') print('写入成功!') return True print(register()