如何基于现有代码实现多用户不同密码的登录验证功能?
多用户登录验证与功能整合方案
一、优化多用户登录验证逻辑
将原单用户硬编码验证改为字典映射存储用户与密码,后续添加新用户仅需修改字典,无需改动核心验证逻辑,扩展性更强:
# 用户密码映射表(可自行添加/修改用户信息) user_credentials = { "Caden": "35805", "妹妹": "your_sister_password" # 替换为你妹妹的真实密码 } # 登录验证流程 password_input = input("欢迎使用,请输入密码:") # 匹配输入密码对应的用户 matched_user = None for username, password in user_credentials.items(): if password == password_input: matched_user = username break if matched_user: print(f"欢迎,{matched_user}!") # 登录成功后进入功能菜单 show_main_menu() else: print("密码错误") raise SystemExit("密码错误,程序退出")
二、整合已开发功能
通过菜单循环实现功能选择,将你已开发的计算器、记事本等功能模块化调用,代码结构更清晰:
def show_main_menu(): while True: print("\n=== 功能菜单 ===") print("1. 计算器") print("2. 记事本") print("3. 模拟银行") print("4. 模拟披萨配送") print("5. 退出程序") choice = input("请输入功能序号:") match choice: case "1": calculator() # 调用你的计算器功能 case "2": notepad() # 调用你的记事本功能 case "3": simulate_bank() # 调用你的模拟银行功能 case "4": simulate_pizza_delivery() # 调用你的模拟披萨配送功能 case "5": print("再见!") break case _: print("无效选项,请重新输入") # 以下为你已开发功能的占位函数,替换为你的实际代码即可 def calculator(): print("=== 计算器 ===") # 你的计算器核心逻辑代码 def notepad(): print("=== 记事本 ===") # 你的记事本核心逻辑代码 def simulate_bank(): print("=== 模拟银行 ===") # 你的模拟银行核心逻辑代码 def simulate_pizza_delivery(): print("=== 模拟披萨配送 ===") # 你的模拟披萨配送核心逻辑代码
三、方案优势
- 可扩展性强:新增用户只需在
user_credentials字典中添加键值对,无需修改验证逻辑; - 模块化清晰:登录、菜单、各功能模块分离,便于后续维护和功能迭代;
- 交互友好:菜单循环支持重复使用功能,直到主动退出。
内容的提问来源于stack exchange,提问作者Caden Sandoval
相关产品推荐
相关产品推荐

