Python-使用input()在控制台中重复输入选项,直到用户选择退出

Python-使用input()在控制台中重复输入选项,直到用户选择退出,python,python-3.x,Python,Python 3.x,我向用户提供了多个选项,供用户选择在Python-3.x.x中使用input()。我希望反复显示这些选项,直到用户通过选择退出选项选择退出 例如: a = 5 b = 2 inp = input('''Please choose from Options mentioned below: 1. Sum 2. Multiply 3. Divide 0. Quit ''') if int(inp) == 1:

我向用户提供了多个选项,供用户选择在Python-3.x.x中使用input()。我希望反复显示这些选项,直到用户通过选择退出选项选择退出

例如:

a = 5
b = 2 
inp = input('''Please choose from Options mentioned below:
        1. Sum
        2. Multiply
        3. Divide
        0. Quit
        ''')

    if int(inp) == 1:
        sum(a,b)
    elif int(inp) == 2:
        multiply(a,b)
    elif int(inp) == 3:
        divide(a,b)
    elif int(inp) == 0:
        print("Thanks for your input.\nQuitting the process")
    elif int(inp) > 3:
        print("Please type numbers from 0 to 8")
    else:
        print("Only numbers are accepted. Please select right option")
因此,根据上面的示例,必须向用户显示相同的选项,直到用户键入“0”,这将从控制台退出input()过程。如果用户键入一个大于3的数字或如果用户键入任何非数字字符,则应打印相关消息,并且必须再次提供选项

如果出现这些故障,现在只有消息被打印到屏幕上,并且它将结束输入()过程。


你知道我遗漏了什么吗?

你可以这样做:

while True:
    inp = input('''Please choose from Options mentioned below:
        1. Sum
        2. Multiply
        3. Divide
        0. Quit
        ''')

    if int(inp) == 1:
        sum(a,b)
    elif int(inp) == 2:
        multiply(a,b)
    elif int(inp) == 3:
        divide(a,b)
    elif int(inp) == 0:
        print("Thanks for your input.\nQuitting the process")
        break
    elif int(inp) > 3:
        print("Please type numbers from 0 to 8")
    else:
        print("Only numbers are accepted. Please select right option")

虽然这回答了您的问题,但我必须说迭代和分支是编程中的核心概念,所以我建议您不要在学习某个课程或系列教程时从头开始提问

您可以使用
while
loop.IIUC,为什么不使用无限while循环呢?当用户选择退出时,您只需调用break。感谢@adnanmuttaleb的及时响应。我知道循环。我正在考虑一种解决方案,只有在出现错误时才重定向到相同的输入选项。类似于try-catch异常场景,而不是无限循环。