Python-使用input()在控制台中重复输入选项,直到用户选择退出
我向用户提供了多个选项,供用户选择在Python-3.x.x中使用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:
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异常场景,而不是无限循环。