![](/img/trans.png)
[英]Why can't I use three if-statements instead of one if-statement and two elif-statements?
[英]Why can I not use two 'if-statements' rather an elif, if only one of the two will execute?
我正在編寫代碼來解決一個基本問題:
def is_leap(year):
leap = False
if year % 4 == 0:
if year % 100 == 0 and year % 400 != 0:
leap = False
if year % 100 == 0 and year % 400 == 0:
leap = True
else:
leap = True
return leap
print(is_leap(2100))
我的問題是關於最內部的范圍; 特別是對於second 'if statement'
——我知道這一定是一個'elif'
(如果我們不改變它,我們的答案將是錯誤的)但我不明白為什么會這樣。 在我的 IDE 中,如果我保留上面的代碼,第一個if statement
的'leap=False'
變灰。
盡管我通常理解if vs elif
,但為什么我們不能將兩者都作為“if 語句”? 因為(在這種情況下)基於邏輯,對於我們用作參數的任何輸入,只會執行兩個 if 語句中的一個,對嗎?
如果if
條件正確, if
elif
不會執行。 如果您使用兩個if
語句,無論它們都將執行什么。
不僅如此,因為你有一個else
,所以else
只會連接到第二個 if 條件,而elif
會連接整個代碼塊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.