2.4. if-elif-else 結構
「if-elif-else」結構為在「if-else」結構中加入「elif」結構,藉此增加條件判斷的數量。當「條件1成立」時則執行某些程式碼,當「條件2成立」時則執行另一些程式碼,上述兩個條件未達成時則執行其它程式碼。利用 if-elif-else 結構可以根據不同的情況來執行不同的程式碼,即做出許多不同的決策。
if 條件1成立:
執行此處的程式碼
elif 條件2成立:
執行此處的程式碼
else:
否則,執行此處的程式碼
if-elif-else 結構中可以有許多的 elif 結構。
if 條件1成立:
執行此處的程式碼
elif 條件2成立:
執行此處的程式碼
...
elif 條件n成立:
執行此處的程式碼
else:
否則,執行此處的程式碼
參考檔案:if-elif-else.py
x = 1
print('---')
if x == 1:
print('x == 1')
elif x == 2:
print('x == 2')
else:
print('x >= 3')
print('---')
# x = 1 的執行結果
---
x == 1
---
# x = 2 的執行結果
---
x == 2
---
# x = 3 的執行結果
---
x >= 3
---
牛刀小試
- a003: 兩光法師占卜術 [參考答案] ★★, practice
- 使用 if-elif-else 結構、算數及邏輯運算子。
- 程式設計步驟:
# 步驟1: 處理資料輸入
import sys
for s in sys.stdin:
# 步驟2: 資料處理,例如:對字串去除頭尾符號、字串分割。
s = s.strip(" \t\r\n")
m, d = s.split()
# 步驟3: 資料類型轉換,例如:字串轉換成整數int。
m = int(m)
d = int(d)
# 步驟4: 使用算術運子做運算。
s = ((m * 2) + d) % 3
步驟5: 使用 if-elif-else 結構判斷要輸出的結果。
if s == 0:
print("普通")
elif s == 1:
print("吉")
else:
print("大吉")
躍躍欲試
- b884: 電腦教室的傑克 [參考答案] ★
- d066: 上學去吧! [參考答案]★
- d460: 山六九之旅 [參考答案] ★★★, practice
- d507: 三角形的判斷 [參考答案] ★, practice+
參考資料
- Python自動化的樂趣, 第二章, Al Sweigart 著、H&C 譯, 碁峰
- Python編程入門第3版(簡), 第四章, Toby Donaldson著, 人民郵電出版社
- 精通Python, 第四章, Bill Lubanovic著, 賴屹民譯, 歐萊禮