写了一个作业 实现用户登录和注册的脚本,初学者写的不好,记录一下我的学习经历

import pickle,getpass
def usr_date():
    try:
        with open('usr_date.pkl','rb') as f:
            return pickle.load(f)
    except EOFError:
        return None

def update_usr(usr_dic):
    with open('usr_date.pkl','wb') as f:
         pickle.dump(usr_dic,f)

def register():
    '注册'
    usr_dic = {} #创建了一个空字典,等带传进去用户名和密码
    usr_name = input('请输入用户名')
    open_date = usr_date() if usr_date() else {}
    if usr_name in open_date.keys():
        print('用户已存在,请登录')
        return False
    usr_password = input('请输入你的密码:')
    [usr_name] = usr_password #空字典接收到用户输入的名字和密码
    update_usr(usr_dic) #把字典写进文件,并且用pickle保存
    return print('注册成功')

def Sign_in():
    '登录'
    cont = 0
    while cont<3:
        usr_name = input('请输入你的用户名:')
        open_date = usr_date() if usr_date() else {}
        if usr_name not in open_date.keys():
            pass
        usr_password = getpass.getpass('请输入你的密码:')
        if usr_password != open_date.get(usr_name):
            print('用户名或密码错误,请从新填写')
            cont += 1
            if cont == 3: #判断如果cont=3 证明用户已经错误三次,然后跳出循环
                print("输入三次失败,请从新选择登录")
        else:
            print('登陆成功')
            return True


def login_index():
    while True:
        usr = input('1.注册 2.登录 任意键退出:')
        if usr == '1':
            register()
        elif usr =='2':
            Sign_in()
        else:
            break
login_index()

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值