用户注册及登录功能(初级)

'''
实现用户注册及登录功能。
要求:
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)之间的选项编码<回车继续>')

 

posted @ 2018-08-02 22:49  差不多努力python之路  阅读(843)  评论(0编辑  收藏  举报