Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何继续向用户请求输入,直到它被认为是有效的?_Python_Python 3.x - Fatal编程技术网

Python 如何继续向用户请求输入,直到它被认为是有效的?

Python 如何继续向用户请求输入,直到它被认为是有效的?,python,python-3.x,Python,Python 3.x,我的代码是让用户选择最喜欢的家畜。答案应该是“猫”或“狗” 我不确定如何让程序继续请求输入,直到用户选择“猫”或“狗”。如果检测到正确的输入,则不应再要求更多输入 如何解决此问题?您需要使用循环反复询问: household_animal = input("Which household animal do you prefer?") while household_animal not in ("cat", "dog"): print("This is not a household

我的代码是让用户选择最喜欢的家畜。答案应该是“猫”或“狗”

我不确定如何让程序继续请求输入,直到用户选择“猫”或“狗”。如果检测到正确的输入,则不应再要求更多输入


如何解决此问题?

您需要使用循环反复询问:

household_animal = input("Which household animal do you prefer?")
while household_animal not in ("cat", "dog"):
    print("This is not a household animal, please pick again.")
    # pick again
    household_animal = input("Which household animal do you prefer?")
print("Thanks for your input on which household animal you prefer!")

解释

由于在选择合适的动物之前,您需要不断请求输入,因此您应该引入某种形式的循环,直到满足该条件

有很多方法可以编写这样的功能,但是您需要的是下面这样的东西

household_animal = None
注意:代码将循环,直到
家用动物
,如果用户编写的内容不是这两种内容之一,则会显示错误消息


提示:如果这个问题不是你想要的答案,你需要回过头来再问一次。可能是Thank You@Reut Sharabani的重复
household_animal = None
while household_animal not in ("cat", "dog"):
    if household_animal is not None:
      print ("This is not a household animal, please pick again.")

    household_animal = input ("Which household animal do you prefer?")

print ("Thanks for your input on which household animal you prefer!")