條件選擇(if / else if / else)
Selection Statements
條件選擇是什麼? if / else if / else 的角色

在程式語言中,條件選擇主要使用 ifelse ifelse 來控制程式流程,
根據「條件是否成立」,決定要執行哪一段程式碼。

你可以把它想成「程式的分岔路口」:
當條件為真(True)走這條路,為假(False)就走另一條。

在科學計算與日常應用中,「判斷」幾乎無所不在:
例如:溫度是否過高? 分數是否及格? 是否需要發出警告?

條件敘述的分類 常見結構整理

常見的條件敘述可以這樣分類:

  • 單一路徑選擇:只有「成立時」做事(if)。
  • 雙向選擇:成立與不成立,各有不同處理(if-else)。
  • 巢狀(套疊)組合:使用 ifelse 內部區塊夾帶 if,把多個 if 條件層層套疊形成巢狀結構。
  • 多向選擇:依照不同條件分成多條執行方向 (if-ellse if-else)。

初學時先把前二種基本 if 型態弄熟,再慢慢加上條件組合與巢狀(套疊)就可以了。

二種基本 if 型態 單一、雙向、多向

1. 單一條件判斷(if)

只有在條件為真時才執行某段程式碼,否則直接略過。

if 條件:
   # 如果條件為真,執行這裡的程式碼
   程式碼 A
程式碼 B
條件 Y N
程式碼 A
程式碼 B

2. 條件判斷是與否(if-else)

「成立」或「不成立」二選一。

if 條件1:
   # 如果條件1為真,執行這裡的程式碼
   程式碼 A
else:
   # 如果條件1為假,執行這裡的程式碼
   程式碼 B
程式碼 C
條件 Y N
程式碼 A
程式碼 B
程式碼 C

3. 巢狀(套疊)判斷是與否(if - {if - } else {if - else}) 「成立」或「不成立」之中,還有判斷。
if 條件1:
   # 如果條件1為真,執行這裡的程式碼
   if 條件2:
      # 如果條件2為真,執行這裡的程式碼
      程式碼 A
   程式碼 B 
else:
   # 如果條件1為假,執行這裡的程式碼
   程式碼 C
   if 條件3:
      # 如果條件3為真,執行這裡的程式碼
      程式碼 D
   else:
      # 如果條件3為假,執行這裡的程式碼
      程式碼 E
程式碼 F
條件1 Y N
條件2 Y N
條件3 Y N
程式碼 A
程式碼 B
程式碼 C
程式碼 D
程式碼 E
程式碼 F
4. 多重條件判斷(if-else if -else) 當有「多種狀況」時,可以用 else if 依序檢查。

if 條件1:
   # 如果條件1為真,執行這裡的程式碼
   程式碼 A
else if 條件2:
   # 如果條件1為假,且條件2為真
   程式碼 B
else if 條件3:
   # 如果條件1,2皆為假,且條件3為真
   程式碼 C
else:
   # 如果所有條件都為假
   程式碼 D
程式碼 E

另一種說法:
選擇下面條件
   條件1:
       # 符合條件1者
       程式碼 A
   條件2:
       # 符合條件2者
       程式碼 B
   條件3:
       # 符合條件3者
       程式碼 C
   否則:
       # 條件 1,2,3 皆不符合者
       程式碼 D
程式碼 E
條件1 N Y
條件2 N Y
條件3 N Y
程式碼 A
程式碼 B
程式碼 C
程式碼 D
程式碼 E