如何让Python登录失败后重启代码返回初始菜单?
解决方案
最简单易懂的实现方式是把整个菜单逻辑放到无限循环里,让程序能重复显示初始菜单,直到用户主动选择退出。以下是修改后的完整代码:
while True: # 显示初始菜单 print("=========MENU=========") print("1.Login") print("2.Exit") # 处理用户输入非数字的情况,避免程序崩溃 try: nav = int(input("请选择操作:")) except ValueError: print("请输入有效的数字选项!") continue if nav == 1: print("=========LOGIN=========") print("请输入正确的用户名和密码") print("你有3次尝试机会") count = 0 login_success = False while count < 3: username = input("USERNAME: ") password = input("PASSWORD: ") if username == "admin" and password == "password": print("ACCESS GRANTED") login_success = True break else: print("WRONG USERNAME/PASSWORD COMBO") print("TRY AGAIN") count += 1 if count == 3: print("NO ATTEMPTS LEFT") print("返回主菜单...") # 登录成功后可在此添加后续操作,比如进入功能页面 elif nav == 2: print("TERMINAL SHUTTING DOWN...") break # 退出无限循环,结束程序 else: print("无效选项,请重新选择!")
关键修改说明
- 无限循环包裹菜单:用
while True让菜单重复显示,只有用户选择Exit时,通过break退出循环结束程序。 - 移除无效的break:原代码中
count==3时的break没有作用(不在循环块内),现在去掉后,流程会自动回到菜单循环的开头。 - 增加输入合法性校验:用
try-except处理用户输入非数字的情况,避免程序直接崩溃,更健壮。 - 登录状态标记:用
login_success变量记录登录结果,方便后续扩展登录后的操作逻辑。
内容的提问来源于stack exchange,提问作者Lerten
相关产品推荐
相关产品推荐

