📜  如何为用户提供多个选项并一次又一次地提出相同的问题,直到用户说出其中一个选项 - Python (1)

📅  最后修改于: 2023-12-03 15:23:46.043000             🧑  作者: Mango

如何为用户提供多个选项并一次又一次地提出相同的问题,直到用户说出其中一个选项 - Python

在编写程序时,经常会遇到需要用户选择不同选项的情况。本文将介绍如何使用Python为用户提供多个选项,并且在用户没有给出有效响应时一次又一次地重新提出相同的问题。

使用Python中的input函数获取用户输入

在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循环来重复以下操作:

  1. 提示用户进行选择
  2. 如果用户给出有效的响应,则退出循环并打印所选项
  3. 如果用户未给出有效的响应,则继续提示用户进行选择

以下是一个包括重复问题并要求有效响应完整代码的示例:

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()函数轻松地为用户提供多个选项,并通过重复提问来确保用户提供有效的响应。希望这篇文章将有助于您编写更好的用户界面。