'''
实现用户注册及登录功能。
要求:
1.使用while循环实现菜单的选择
2.使用try异常处理解决用户输入非数字问题
3.对用户输入功能选项编号越界进行处理
4.用户注册信息存入列表中,每个用户使用字典类型封装
5.用户注册需进行两次密码一致性验证,同时进行密码保护(输入不显)
(import getpass
passInfo=getpass.getpass("请输入你的密码")
print(passInfo))
6.用户登录选项需进行数据非空验证
7.登录数据验证检需通过已经注册的用户列表中的用户进行判断,给与响应的结果提示。
'''
import getpass
list_user = list()
while True:
print('#'*30,'\n','1.用户登录','\n','2.用户注册','\n','3.退出系统','\n','#'*30)
input_info = input('请选择:> ')
try :
int(input_info)
except :
er1_input = input('提示:请输入选项编码数字<回车继续>')
else:
if input_info in '123' and len(input_info) ==1:
if input_info == '1':
print(' ='*20,'\n','欢迎登陆','\n',' ='*20)
log_user = input('登陆账号:> ')
log_pass = getpass.getpass('登陆密码:> ')
if list_user == []:
input('[提示:账号不存在<回车继续>]')
else:
for i in list_user:
for j in i.values():
if j in i.values() and j in i.values():
input('[提示]欢迎登陆,%s'%i['用户昵称'])
break
else:
input('[错误]账号密码不正确<回车继续>')
break
while input_info == '2':
print(' ='*20,'\n','新用户注册','\n',' ='*20)
new_user = input('登录账号:')
new_pass = getpass.getpass('登录密码:')
new_passAck = getpass.getpass('密码确认:')
user_name = input('用户昵称:')
sex = input('性别: ')
age = input('年龄: ')
dict_info = {'登录账号':new_user,'登录密码':new_pass,'用户昵称':user_name,'性别':sex,'年龄':age}
if new_pass == new_passAck:
list_user.append(dict_info)
# print(list_user)
input_user = input('用户添加成功,是否继续(y/n)?')
if input_user == 'y':
continue
break
else:
input('[错误],两次密码不一致<回车继续>')
if input_info == '3':
del_sys = input('确认退出吗(y/n)? ')
if del_sys == 'y':
break
continue
else:
er2_input = input('提示:请输入(1-3)之间的选项编码<回车继续>')