注册登录问题

Posted zxmbky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了注册登录问题相关的知识,希望对你有一定的参考价值。

写一个函数完成三次登陆功能,再写一个函数完成注册功能
第一个用字典写的
缺点:
每次运行都是空字典,不能保存用户数据
dic={}
def login(dic):
    index=0
    while 1:
        user=input("输入用户名:").strip()
        pw=input("输入密码:")
        if user in dic.keys() and pw==dic[user]:
            print("登录成功")
            return True
        elif index<2:
            print("你的用户名或者密码有误,请重新登录")
        else:
            print("你已输入错误次数达到3次,已被限制登录")
            return False
        index+=1
def sign(dic,num_min,num_max):
    while 1:
        name=input("输入你要设置的用户名:").strip()
        if name in dic.keys():
            print("这个用户名已经被注册,请换个名字")
        else:
            break
    while 1:
        pw=input("输入你要设置的密码(长度在{}和{}之间):".format(num_min,num_max))
        if len(pw)<num_min or len(pw)>num_max:
            print("你输入你密码长度不符合要求")
            continue
        pw1=input("重新确认你设置的密码:")
        if pw1!=pw:
            print("你两次输入的密码不一样,请重新设置密码")
            continue
        else:
            print("恭喜你,注册成功!快去登录吧")
        dic[name]=pw
        return
sign(dic,6,8)
login(dic)

第二个是用文件作为用户信息保存的载体,可以保存不断写入的用户数据

def login():
    index=0
    while 1:
        user=input("输入用户名:").strip()
        pw=input("输入密码:")
        with open("user", encoding="UTF_8") as f:
            for line in f:
                k, v = line.strip().split("	")
                if user==k and pw==v:
                    print("登录成功")
                    return True
            else:
                index += 1
                if index<3:
                    print("你的用户名或者密码有误,请重新登录")
                else:
                    print("你已输入错误次数达到3次,已被限制登录")
                    return False
def sign():
    with open("user",mode="r+",encoding="UTF_8") as f:
        while 1:
            name=input("输入你要设置的用户名:").strip()
            for line in f:
                k, v = line.split("	")
                if name==k:
                    print("这个用户名已经被注册,请换个名字")
                    break
            else:
                break
        while 1:
            pw=input("输入你要设置的密码:")
            pw1=input("重新确认你设置的密码:")
            if pw1!=pw:
                print("你两次输入的密码不一样,请重新设置密码")
                continue
            else:
                print("恭喜你,注册成功!快去登录吧")
                f.write(name+"	"+pw+"
")
                return
sign()
login()

 




以上是关于注册登录问题的主要内容,如果未能解决你的问题,请参考以下文章

登录/注册后如何注册推送通知?

一个登录视图,注册或登录

动态html页面。用html实现注册和登录的一些问题。

flask实现用户注册和登录功能

注册成功后自动登录

登录/注册表单的 REST 资源