为什么这个if语句与此相同

时间:2015-02-09 00:17:37

标签: python

以下代码打印什么?我知道答案是TIME GREAT。但我不明白为什么它不是Right Cheer。将分数设置为10

score = 10
if score < 10:
    print ("NOW")
    if score > 2:
        print ("RIGHT")
    elif score == 10:
        print ("CHEER")
else:
    print ("TIME")
print ("GREAT")

2 个答案:

答案 0 :(得分:1)

你的缩进是错误的,你需要所有elif在第一个之后,如果你的第一个if评估为False而你拥有其他嵌套的事实意味着他们永远不会得到评估而你直接进入else区块:

score = 10
if score < 10:
    print ("NOW")
elif score > 2: 
    print ("RIGHT")
elif score == 10:
    print ("CHEER")
else:
    print ("TIME")
print ("GREAT") 

答案 1 :(得分:0)

因为输入分数为10,而if条件失败,并且会跳转到else部分。因此将打印TIME GREAT