1. 程式人生 > 其它 >判斷語句和迴圈語句-2.6 elif

判斷語句和迴圈語句-2.6 elif

一、引入

if能完成條件滿足時做可以執行某些程式碼

if-else能完成條件滿足時執行某些程式碼,不滿足時執行另外一些程式碼

如果有這樣一種情況:當條件1滿足時做事情1;條件2滿足時做事情2;條件3滿足時做事情3,那該怎麼實現呢?

答:elif

二、elif使用

elif的使用格式如下:

if 條件1:
    事情1
elif 條件2:
    事情2
elif 條件3:
    事情3
# ...省略N個條件...
elif 條件n:
    事情n
else:
    以上條件都滿足時執行的程式碼

  

說明1,執行流程

  • 當條件1滿足時,執行事情1,然後整個if結束
  • 當條件1不滿足條件2滿足時,則執行事情2,然後整個if
    結束
  • 當條件1、條件2不滿足條件3滿足時,則執行事情3,然後整個if結束
  • 依次類推,如果條件1、條件2、條件3.。。。。條件n-1都不滿足且條件n滿足,則執行事情n,然後整個if結束
  • 如果沒有任何條件滿足,那麼就執行else中的事情

說明2,else

  • else不是必須的,根據實際情況決定是否新增,如果所有條件滿足時做的事情很明確,且沒有全部都不滿足的時候,此時就不用寫
  • 如果當前能考慮的條件都有對應的程式碼,但不能保證所有條件都考慮到了,此時建議寫上else

三、示例

score = 77  # 定義變數儲存分數

if score>=90 and score<=100:  # 如果分數在90~100
    print('本次考試,等級為A')
elif score>=80 and score<90:  # 如果分數在80~90
    print('本次考試,等級為B')
elif score>=70 and score<80:  # 如果分數在70~80
    print('本次考試,等級為C')
elif score>=60 and score<70:  # 如果分數在60~70
    print('本次考試,等級為D')
elif score>=0 and score<60:  # 如果分數在60以下
    print('本次考試,等級為E')
else:  # 如果分數不在0~100之間,就認為錯誤
    print("分數有誤...")

  

四、注意點

if判斷中,最多隻能有1個else,但可以有N個elif,必須有1個if

下面的寫法是錯誤的

錯誤示範1:一個if最多有1個else

if 100 > 60:
    print("哈哈哈1")
else:
    print("哈哈哈2")
else:
    print("哈哈哈3")

  

錯誤示範2:一個if判斷必須有1個if

else:
    print("哈哈哈2")

  

五、總結

到現在為止,if總體來說學習了3種

  • 第1種:只判斷一個條件,我們用if來實現
  • 第2種:可判斷2個條件(滿足、不滿足),我們用if...else...
    來實現
  • 第3種:可以判斷N個條件,我們用if...elif...elif...else...來實現