You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 21:32:49