Python实现用户注册登录校验功能(面向对象方法)

案例需求:
<用户登录>分别提示用户输入用户名和密码,用户名为seven,密码为123,或者用户名为alex,密码为456。提示登录成功,并结束程序。否则提示失败原因,并提示重新输入,最多三次机会。
<注册功能>提示用户输入用户名,密码,如果重复则重新输入。如果不重复,则保存用户信息。
<功能选择>0-注册,1-登录,2-退出

1.需求分析:
(1)利用面向对象方法,定义用户User类
(2)定义成员变量,用字典存储已有的用户名密码
(3)定义两个成员方法,注册方法和登录方法
(4)主函数里面设置判断条件,做功能选择。

2.代码块:

class User:
    def __init__(self):
        self.usr_info = {"seven": "123", "alex": "456"}

    def register(self):       # 定义注册方法
        print("<注册模式>".center(50, "*"))
        usr = input("请输入用户名:")
        pwd = input("请输入密码:")
        if usr in self.usr_info.keys():
            print("该用户已被注册,请重新输入新用户名!")
            self.register()
        else:
            self.usr_info[usr] = pwd
            print("注册成功,您的登录用户名是:%s 密码是:%s," % (usr, pwd))
            x = input("是否使用新用户名密码登录?登录请输入1,退出请输入2:")
            if x == "1":
                self.login()
            else:
                print("退出系统,欢迎下次使用。")
                return

    def login(self):       # 定义登录方法

        print("<登录模式>".center(50, "*"))
        for i in range(3):
            usr = input("请输入用户名:")
            pwd = input("请输入密码:")
            if usr in self.usr_info.keys():
                if pwd == self.usr_info[usr]:
                    print("登录成功!")
                    break
                else:
                    print("密码输入错误,请重新输入!")
            else:
                print("用户名错误,请重新输入!")
            print("这是第%s次输入错误,还剩%s次机会。" % (i + 1, 2 - i))
        else:
            print("超过最大验证次数,登录失败!")


def main():             # 定义主函数
    user = User()     # 创建user对象
    print("欢迎使用智能XX管理系统-v1.0".center(100, "-"))
    print("注册请输入0,登录请输入1,退出请输入2".center(95, "-"))
    select = input("请选择您需要进行的操作:")
    if select == "0":
        user.register()     # 调用注册成员方法
    elif select == "1":
        user.login()
    elif select == "2":
        print("退出系统!欢迎再次使用。")
        return
    else:
        print("输入有误,请重新输入!")


main()

3.代码运行结果:
在这里插入图片描述
4.知识点归纳:
(1)面向对象思想
定义类
创建对象
调用成员方法

(2)字典高级变量的常用操作

字典名.keys()   # 根据“键”取“值”
  • 28
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值