2015-02-09 103 views
-1

下面的代码打印了什么?我知道答案是TIME GREAT。但我不明白为什么它不是Right Cheer。当它将分数设置为10这个if语句为什么等于这个

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

因为10不小于10 – BrenBarn 2015-02-09 00:18:24

+0

但是10是>那2?所以不会导致它打印“正确”? – Evan 2015-02-09 00:20:17

+0

它不会通过第一个条件,并且它会进入相应的else块。请注意,如果score> 2:'在'if score <10:'条件内。 – 2015-02-09 00:21:13

回答

0

由于输入得分是10,这失败if条件,并且将跳到else一部分。因此将打印,TIME GREAT

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")