Python实现注册和登录
一、注册账号需要实现的功能
1、输入:用户名,密码,密码确认
2、限制1:输入的账号和密码不能为空
3、限制2:两次输入密码必须一致
4、限制3:用户名不能重复
5、限制4:错误次数为4次
6、用字典保存,格式如下;其中,只需要输入username和passwd,新注册用户role默认都为1
{ '张三': {'passwd': '123', 'role': '1'}, '李四': {'passwd': 'abc', 'role': '2'} }
二、实现注册代码
f = open("users.txt", 'r+') users = eval(f.read()) #f.read()读取的是字符串,用eval()将字符串转化为字典 for i in range(4): name = input('请输入姓名: ') passwd = input('请输入密码: ') c_passwd = input('请再次确认密码: ') if len(name.strip()) != 0 and name not in users and len(passwd.strip()) != 0 and passwd == c_passwd: users[name]= {'passwd':passwd, 'role':1} #往字典中插入新数据 f.seek(0) f.truncate() #清空文件内容 f.writelines(str(users)) #将字典写入文件 print('恭喜,注册成功') f.close() break elif len(name.strip()) == 0: print('用户名不能为空,请重新输入。还可输入%d次' %(3-i)) elif name in users: print('用户名重复,请重新输入。还可输入%d次' %(3-i)) elif len(passwd.strip()) == 0: print('密码不能为空,请重新输入。还可输入%d次' %(3-i)) elif c_passwd != passwd: print('两次输入的密码不一致,请重新输入。还可输入%d次' %(3-i))
三、实现登录代码
f = open("users.txt", 'r', encoding='utf8') users = eval(f.read()) for count in range(3): name = input('请输入用户名: ') password = input('请输入密码: ') if name in users and password == users[name]['passwd']: print('登录成功!') break else: print('用户名或密码错误,还有%d次机会'%(2-count)) f.close()