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

Python循环实现菜单调用函数运行直接退出问题求助

Python菜单功能异常修复说明

核心问题点

  • 数据类型不匹配:input() 函数返回值为字符串类型,代码中直接与整数1/2/3/4做等值判断,所有条件永远不成立,首次循环直接进入else分支触发break,程序直接终止。
  • 函数调用顺序错误:mainmenu() 放在无限循环结束之后,循环触发break后才会执行该语句,运行时永远不会先打印菜单提示,逻辑顺序完全错位。

修复后可运行代码

def mainmenu():
    print("Hello! Welcome to The Sprint Project Company! Please choose from 1-5: ")
    print("1. Simple IPO Program")
    print("2. IFs and Loop sample")
    print("3. Strings and dates")
    print("4. Data files and Default Values")
    print("5. Quit")

# 运行前请确保已经提前定义ipo()、ifloop()、stringsdates()、datafiles()四个函数,否则会报名称错误
while True:
    # 循环内优先打印菜单
    mainmenu()
    choice = input("Enter choice (1-5): ")
    # 改为和字符串类型的选项值匹配
    if choice == '1':
        ipo()
    elif choice == '2':
        ifloop()
    elif choice == '3':
        stringsdates()
    elif choice == '4':
        datafiles()
    elif choice == '5':
        # 明确匹配退出选项,避免用户输错内容直接退出
        print("程序即将退出")
        break
    else:
        print("输入无效,请输入1-5之间的数字")

可选优化说明

如果希望用整数做判断,可以将输入语句改为choice = int(input("Enter choice (1-5): ")),建议额外添加异常捕获逻辑,避免用户输入非数字内容时程序报错崩溃。

内容的提问来源于stack exchange,提问作者snowbuns

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:36:04