面向对象实现注册和登录的场景;
用户先注册,输入账号和密码,并把账号和密码保存在文件中
在登录时验证输入的账号与密码与文件中的信息是否一致,一致打印’登陆成功’, 否则打印’未注册登陆失败’。
请问下列场景该如何实现,请教各位
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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方法尝试登录两次,第一次输入了未注册的用户名,第二次输入了正确的用户名和密码,分别输出了"未注册或密码错误,登录失败!"和"登录成功!"的提示信息。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 linux驱动,linux应用,多线程
- ¥20 我要一个分身加定位两个功能的安卓app
- ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
- ¥15 IAR程序莫名变量多重定义
- ¥15 (标签-UDP|关键词-client)
- ¥15 关于库卡officelite无法与虚拟机通讯的问题
- ¥15 目标检测项目无法读取视频
- ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
- ¥100 求采集电商背景音乐的方法
- ¥15 数学建模竞赛求指导帮助