如果输入错误,请返回并重试决策树

时间:2016-06-17 14:35:46

标签: python loops input back

所以我对编码和使用python都很陌生,所以我一直在寻找教程,现在我只想弄乱一点,试着弄湿我的脚。我在ipython中做了所有事情,同时在应用程序Brackets上创建脚本在mac ... dunno,如果它改变任何东西。只是一些额外的信息。

所以,我试图将决定输入到哪里,如果一个人没有回答"是"或"不"然后代码会回复"请回答“是”或“不”'"然后一遍又一遍地问他们,直到“是”"是"或"不"进入。如果不是"是"我不希望脚本结束。或"不"进入。

print ("Welcome!")
myName = input("What is your name, friend?: ")
dec = input("So, " + (myName) + ", would you like to hear a story? (yes or no): ")
def decision():
    if (dec == "yes"):
        print("Wonderful")
    elif (dec == "no"):
        print("Maybe another time then?")
    else:
        print("Please answer with 'yes' or 'no'")
decision()

另外,我如何制作决策树呢?所以如果有人回答"是"然后他们会被问到另一个问题并在故事中采取不同的溃败,而不是他们已经回答了#34; no" (或者是/否以外的东西)。

谢谢!

2 个答案:

答案 0 :(得分:0)

所以,如果陈述将成为你最好的朋友!我建议的另一件事是循环!因此,每当您要求用户输入是或否时,请在while循环中执行!

userAnswer =input("Yes or no??")
while (userAnswer != yes and userAnswer != no):
    userAnswer = input("Yes or no???")

基本上继续问他们,直到他们说是或否。它是你的决策树的术语,你可以做很多嵌套的if语句,或者你可以编写很多你在用户回答是/否后调用的方法。我希望这有帮助!

答案 1 :(得分:0)

你可以整理(并允许任何输入案例)DROP TABLE先生的答案如下:

userAnswer =input("Yes or no??")
while userAnswer.lower() in ('yes', 'no'):
    userAnswer = input("Yes or no???")