2015-05-12 184 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" 

的區別是,後者更容易閱讀。