如果阻止未按预期进行评估

时间:2011-12-25 06:40:26

标签: python

answer == raw_input("Do you like python?")
if answer == "yes":
      print "That is great"
elif answer == "no"
      print "that is disappointing"
else:
      print "that is not the answer to my question"

这段代码的问题是python 2.7.2忽略了我的前两个条件,但是响应了最后一个条件。为什么是这样?我大约两周半的时间学习python,我一直在寻找其他资源。以下是我最初从http://www.upriss.org.uk/python/PythonCourse.html

获取信息的位置的参考

3 个答案:

答案 0 :(得分:11)

您在第一行代码中使用的是==而不是=。就您所显示的代码而言,answer实际上从未被赋予值。

哦,elif answer == "no"行中有一个缺少的冒号。


在这里,有一个cookie:

answer = raw_input("Do you like python?")
if answer == "yes":
    print "That is great"
elif answer == "no":
    print "that is disappointing"
else:
    print "that is not the answer to my question"

答案 1 :(得分:5)

与Matt Ball的答案类似,但更详细(考虑到提问者):

Python在“=”和“==”

之间存在显着差异

“=”用于为变量赋值,如下所示。

my_variable = "value"

“==”用于比较两个值。

if my_variable == "value"

当然,变量必须有一个值才能检查该值!否则,就像在空信封内容后发送你的秘书一样。

很容易混淆“=”和“==”,所以不要感觉不好。我在Python中的第一个代码看起来像意大利面条。 :P

祝你好运!

答案 2 :(得分:0)

answer = raw_input("Do you like Python?")
if answer.lower() in ("yes", "y"):
    print "That is great."
elif answer.lower() in ("no", "n"):
    print "That is disappointing."
else:
    print "That is not the answer to my question."