📅  最后修改于: 2023-12-03 15:23:46.043000             🧑  作者: Mango
在编写程序时,经常会遇到需要用户选择不同选项的情况。本文将介绍如何使用Python为用户提供多个选项,并且在用户没有给出有效响应时一次又一次地重新提出相同的问题。
在Python中,可以使用内置函数input()
来获取用户输入。它将等待用户输入的内容,并返回一个字符串类型的结果。下面是一个简单的示例,演示如何使用input()
函数接收用户输入:
user_input = input("请输入您的名字:")
print("您好 " + user_input + "!")
上述代码将提示用户输入他们的名字,并回应一条打招呼的信息。
当需要用户从多个选项中做出选择时,可以使用input()
函数来提示用户。为此,可以先将每个选项都存储到一个列表中,并将其打印给用户,以便用户可以在其中进行选择。例如,以下代码演示了如何实现一个简单的菜单:
options = ["选项1", "选项2", "选项3"]
for i in range(len(options)):
print(str(i+1) + ": " + options[i])
selection = input("请选择一个选项:")
print("您选择了 " + options[int(selection)-1])
上述代码将打印一个带有数字前缀的选项列表,并等待用户输入一个数字,就像以下示例所示:
1: 选项1
2: 选项2
3: 选项3
请选择一个选项:
用户可以输入相应数字来选择一个选项,并将选择结果打印出来。
请注意,在这个例子中,我们使用int()
函数将selection
从字符串转换为整数,因为默认情况下,input()
函数返回一个字符串。
通常情况下,需要确保用户给出有效的响应,否则应该继续提示用户进行选择。为了实现这一点,可以使用一个while
循环来重复以下操作:
以下是一个包括重复问题并要求有效响应完整代码的示例:
options = ["选项1", "选项2", "选项3"]
while True:
for i in range(len(options)):
print(str(i+1) + ": " + options[i])
selection = input("请选择一个选项:")
if selection.isdigit() and int(selection) in range(1, len(options)+1):
print("您选择了 " + options[int(selection)-1])
break
else:
print("无效响应,请从列表中选择一个有效选项。")
该例程使用isdigit()
检查用户输入是否是一个数字,并确保数字在可接受范围内。如果选择有效,则退出循环并打印选项。否则,将继续提示用户进行选择,并输出错误消息。
在Python中,可以使用input()
函数轻松地为用户提供多个选项,并通过重复提问来确保用户提供有效的响应。希望这篇文章将有助于您编写更好的用户界面。