多個if語句是每次單獨判斷
比如:
例子一:
a = 5 if a < 6: #條件1 print(1) if a < 7: #條件2 print(2) else: print(3)
條件1和條件2是獨立的,第一次判斷a的值小於6,所以打印出數字1,第二次判斷a的值小於7,所以打印出2。如果所有的if語句都判斷失敗,才會執行else后的語句,否則else語句不執行。
如果條件2修改為elif,結果就不同了
例子二:
a = 5 if a < 6: #條件1 print(1) elif a < 7: #條件2 print(2) else: print(3)
這次條件1和條件2是相關的,也就是說,如果條件1判斷成功的話,條件2就不會繼續判斷了。反過來,如果條件1判斷失敗,那么就會繼續判斷條件2.如果條件1和條件2都判斷失敗,那么則執行else里面的語句。
例子二的結果很明顯就是只會打印出1。
當然把if和elif混合起來也是可以的,只不過這樣看起來怪怪的,可讀性也差
例子三:
a = 5 if a < 6: print(1) elif a < 4: print(2) if a < 7: print(3) else: print(4)
結果是:1,3
應用場景:
如果你只想執行一個代碼塊,那么用if-elif-else結構吧;
如果你要運行多個代碼塊,那么就用多個if吧。(多條件同時滿足)
