在循环中制作一个简单的菜单来调用函数,坚持为什么它不起作用

Making a simple menu within a loop to call upon functions, stuck on why it won't work

对于一个学校项目,我和我的小组合作伙伴编写了一个代码,我在一个单独的测试文件中测试了每个功能,看它们是否工作,一切看起来都不错,但菜单没有按预期工作。我的大脑似乎无法弄清楚哪里出了问题,我希望对此有第二个意见。非常感谢 <3 这是我的代码!

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")


while True:
    choice = input("Enter choice (1-5): ")
    if choice == 1:
        ipo()
    elif choice == 2:
        ifloop()
    elif choice == 3:
        stringsdates()
    elif choice == 4:
        datafiles()
    else:
        break

mainmenu()

每当我 运行 这个它就会自动结束。我什至通过在 else 下放置一个打印部分来进行测试,但它只是直接跳到结束代码。非常感谢您查看我的问题<3

你的代码有两点。 首先,函数“input()”returns 是一个字符串,因此您将字符串与整数进行比较,然后它的值为 False。 就像你在比较 1 和 '1',它们不一样。

其次,您的函数 mainmenu() 必须放在循环内。 进行这两项更改,它将起作用。

while True:
    mainmenu()  # Add the function here.
    choice = int(input("Enter choice (1-5): "))  # Change here
    if choice == 1: