2015-05-12 150 views
-3

我知道这个问题可能已被问到,但我找不到实际的答案。因此,我在这里有我的。这条elif声明说了什么?

elif temp >= 10 : 
    clothes = "dress" 
elif temp >= 0 : 
    clothes = "uniform" 

temp> = 10 and temp> = 0,它们重叠!是否意味着temp> = 0只会持续到10?

预先感谢您

+0

如果temp是11,那么你不会到第二个,假设'clothes =“blah blah”'实际上并不是发生了什么,那么它们就不一样了。如果你使用几个不同的数字运行代码,即超过10,10和10,这将是非常明确的 –

+0

感谢您的快速回复!我也是这么想。我是一名初学者。每个人都只是拒绝了我的问题。为什么这么沮丧? – Gloria

+0

它也很重要,以注意elif条件的顺序。如果它们被颠倒过来,那么> = 10的代码就永远不会发生,而且衣服永远不会是“连衣裙”。 PS提高你的问题的原因,即使它的初学者,它是一个初学者的好问题! –

回答

0

只有elif语句之一可以选择。如果执行到达一个elif末,它会跳过所有其他elif S与同if。(这就是为什么它被称为“ELIF”,为“否则,如果”。)

在你的情况下,第一个将如果选择temp >= 10,并且如果选择了第二elif将被跳过,如果temp >= 0第一不选择第二elif将被选择,这意味着如果温度是将被选择在0与10

0

这是正确的。第一elif将如果temp => 10被执行,并且如果10 > temp >= 0

0

ELSEIF是否则相同的,随后,如果第二elif将被执行。换句话说

if x > 10: 
    "Some code" 
else: 
    if x > 5: 
    "Some more code" 

相同

If x > 10: 
    "Some code" 
elif x>5: 
    "Some more code" 

的区别是,后者更容易阅读。