面向对象实现注册和登录的场景;
用户先注册,输入账号和密码,并把账号和密码保存在文件中
在登录时验证输入的账号与密码与文件中的信息是否一致,一致打印’登陆成功’, 否则打印’未注册登陆失败’。
请问下列场景该如何实现,请教各位
- 写回答
- 好问题 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 微信会员卡等级和折扣规则
- ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
- ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
- ¥15 gdf格式的脑电数据如何处理matlab
- ¥20 重新写的代码替换了之后运行hbuliderx就这样了
- ¥100 监控抖音用户作品更新可以微信公众号提醒
- ¥15 UE5 如何可以不渲染HDRIBackdrop背景
- ¥70 2048小游戏毕设项目
- ¥20 mysql架构,按照姓名分表
- ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分