以下是一个Python示例代码,它演示了如何实现前面流程图描述的**用户登录系统**,包含输入验证和凭证验证功能: ```python import getpass # 用于安全输入密码 class LoginSystem: def __init__(self): # 模拟用户数据库(实际应用中应该使用真实数据库) self.user_db = { "admin": "admin123", "user1": "password1", "test": "test123" } def show_login_interface(self): """显示登录界面""" print("\n" + "="*30) print("欢迎登录系统".center(25)) print("="*30) def get_user_input(self): """获取用户输入""" username = input("用户名: ").strip() password = getpass.getpass("密码: ").strip() # 隐藏密码输入 return username, password def validate_input(self, username, password): """验证输入格式""" if not username or not password: print("错误:用户名和密码不能为空!") return False if len(username) < 4 or len(password) < 6: print("错误:用户名至少4位,密码至少6位!") return False return True def verify_credentials(self, username, password): """验证用户凭证""" if username in self.user_db and self.user_db[username] == password: return True return False def run(self): """主流程控制""" while True: self.show_login_interface() # 获取用户输入 username, password = self.get_user_input() # 验证输入格式 if not self.validate_input(username, password): continue # 返回重新输入 # 验证凭证 if self.verify_credentials(username, password): print(f"\n登录成功!欢迎 {username} 进入系统!") break # 登录成功,结束循环 else: print("\n错误:用户名或密码不正确!") retry = input("是否重试?(y/n): ").lower() if retry != 'y': print("系统退出") break if __name__ == "__main__": system = LoginSystem() system.run() ``` ### 代码特点: 1. **模块化设计**:每个功能单独封装为方法 2. **安全输入**:使用`getpass`隐藏密码输入 3. **输入验证**: - 非空检查 - 长度验证 4. **凭证验证**:模拟数据库检查 5. **用户友好**: - 清晰的界面提示 - 错误处理机制 - 重试选项 ### 如何运行: 1. 将代码保存为`login_system.py` 2. 在终端执行:`python login_system.py` 3. 测试用账户:admin/admin123 或 user1/password1 ### 扩展建议: - 添加密码加密(推荐使用`bcrypt`或`hashlib`) - 连接真实数据库(如SQLite/MySQL) - 添加验证码功能 - 实现密码重置功能 需要其他Python示例(如连接数据库、添加GUI界面等)可以告诉我!
写一个Python代码
- 作者:China-Hubei-Wuhan
- 日期:2025年4月7日 20:46
- 浏览:19
评论区: