为什么我的自我练习代码无法按预期工作?

时间:2019-05-21 19:51:10

标签: python python-3.x

我希望下面的代码回调“很棒的”,如果不能,我希望它继续直到它可以。但是由于某种原因,如果您既不写“ goaway”也不写“ great”,则循环会...停止。您能告诉我为什么会这样吗?因为我刚刚学到的东西告诉我,它应该一直运行到输入与我输入的单词匹配为止,尤其是因为我使用的是“ continue”。

我还尝试在代码末尾使用“ else:”,结果相同。


loving = "go away"
while loving == "go away":
    print("please write in something loving")
    loving = input()
    if loving == "go away":
        print("that's a bit rude...")
        continue
    elif loving == "great":
        print("thanks mate")
    elif loving != "great":
        continue

没有错误结果,它只是无法按我认为的方式工作。

2 个答案:

答案 0 :(得分:0)

如果您希望循环继续进行直到用户输入great,那么您需要检查的内容,而不是仅检查go away

loving = ""
while loving != "great":
    print("please write in something loving")
    loving = input()
    if loving == "go away":
        print("that's a bit rude...")
    elif loving == "great":
        print("thanks mate")

答案 1 :(得分:0)

当您输入"go away"以外的任何内容时,变量loving会绑定到您键入的任何内容,这将导致循环结束,因为loving不等于"go away"不再。