首页 > 解决方案 > Python - 使用 input() 在控制台中重复输入选项,直到用户选择退出

问题描述

我在 Python-3.xx 中使用 input() 为用户提供了多个选项,我希望这些选项一次又一次地显示,直到用户通过选择 quit 选项选择退出

例如 :

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 或用户键入任何非数字字符,则应打印相关消息,并且必须再次提供选项

现在万一出现这些故障,只有消息被打印在屏幕上,并且它正在结束 input() 过程。

知道我在这里想念什么吗?

标签: pythonpython-3.x

解决方案


你可以这样做:

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

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


推荐阅读