Python基于字典的登录程序如何实现5次密码错误踢出系统功能
登录程序新增5次错误尝试限制实现
- 改造核心不需要改动你原有校验逻辑,只需要新增错误次数计数器,用循环包裹输入、校验流程,设置两个退出分支:
- 账号密码校验通过时,直接输出登录成功并终止程序
- 错误尝试次数累计到5次时,输出踢出提示并终止程序
- 完全保留原有逻辑:字典存储账号密码映射、输入内容首尾去空格、账号密码匹配规则
- 循环过程中可实时提示剩余尝试次数,优化交互体验
改造后可直接运行的完整代码
def main(): username_password = {"Maria": "hola", "Victoria": "bye"} # 配置最大允许错误尝试次数 max_attempts = 5 # 记录当前累计的错误次数 current_attempts = 0 # 错误次数未达上限时持续循环输入校验 while current_attempts < max_attempts: login_username = str(input("请输入您的用户名:\n")) login_password = str(input("请输入您的密码:\n")) # 保留原有的首尾空格去除逻辑 login_username, login_password = login_username.strip(), login_password.strip() # 原有核心校验逻辑 if login_username in username_password and login_password == username_password[login_username]: print("登录成功") # 校验通过直接退出函数,不触发错误计数 return # 校验不通过,累加错误次数 current_attempts += 1 remaining = max_attempts - current_attempts if remaining > 0: print(f"用户名或密码错误,请重试,剩余可尝试次数:{remaining}") else: # 错误次数全部用完 print("您已连续5次输入错误,已被踢出系统") main()
运行逻辑说明
- 登录校验通过时程序直接退出,不会累计错误次数,只要没达到5次错误就一直保留尝试机会
- 每次校验失败自动累计错误计数,实时反馈剩余次数
- 第5次校验仍失败时循环自动终止,直接输出踢出提示结束程序
内容的提问来源于stack exchange,提问作者Alan Calderon
相关产品推荐
相关产品推荐

