python中if和elif的區別


多個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吧。(多條件同時滿足)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM