曺…… 2023-04-03 00:36 采纳率: 75%
浏览 10
已结题

请问下列场景该如何实现,请教各位

面向对象实现注册和登录的场景;
用户先注册,输入账号和密码,并把账号和密码保存在文件中
在登录时验证输入的账号与密码与文件中的信息是否一致,一致打印’登陆成功’, 否则打印’未注册登陆失败’。

  • 写回答

3条回答 默认 最新

  • 沐阳gg 2023-04-03 10:43
    关注

    鸽们儿,你半夜学习的态度真的非常棒,我这里花了一些时间给你写了一份,希望你能够采纳😘

    class User:
        def __init__(self):
            self.users = {}
    
        def register(self, username, password):
            # 注册用户,保存到文件
            with open('users.txt', 'a') as f:
                f.write(f"{username},{password}\n")
            self.users[username] = password
            print("注册成功!")
    
        def login(self, username, password):
            # 从文件读取用户信息并验证
            with open('users.txt', 'r') as f:
                lines = f.readlines()
            for line in lines:
                u, p = line.strip().split(',')
                self.users[u] = p
            if username in self.users and self.users[username] == password:
                print("登录成功!")
            else:
                print("未注册或密码错误,登录失败!")
    
    
    if __name__ == '__main__':
        user = User()
        # 注册新用户
        user.register("alice", "123456")
        # 尝试登录
        user.login("bob", "654321") # 未注册,登录失败
        user.login("alice", "123456") # 登录成功
    

    给你解释一遍哈:
    首先定义了一个User类,其中__init__方法初始化了一个空的users字典,用于保存用户名和密码,register方法用于注册新用户,将用户名和密码保存到文件中并添加到users字典中,login方法用于登录验证,从文件中读取用户信息并保存到users字典中,如果输入的用户名和密码与users字典中的信息匹配则登录成功,否则登录失败。

    在main函数中实例化了一个User对象,首先通过register方法注册了一个新用户,然后通过login方法尝试登录两次,第一次输入了未注册的用户名,第二次输入了正确的用户名和密码,分别输出了"未注册或密码错误,登录失败!"和"登录成功!"的提示信息。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月13日
  • 已采纳回答 4月5日
  • 创建了问题 4月3日

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助