---
title: "03 - 控制流程"
type: note
specialty: Programming
tags: [python, 03-控制流程]
---

# 03 - 控制流程

← [[02-基本資料型態]] | 下一篇 → [[04-函式]]

---

## 條件判斷（if / elif / else）

```python
score = 85

if score >= 90:
    print("優秀")
elif score >= 70:
    print("良好")
elif score >= 60:
    print("及格")
else:
    print("不及格")
```

### 單行寫法（Ternary）

```python
result = "Pass" if score >= 60 else "Fail"
```

---

## for 迴圈

```python
# 遍歷 list
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

# 用 range() 產生數列
for i in range(5):       # 0, 1, 2, 3, 4
    print(i)

for i in range(1, 6):    # 1, 2, 3, 4, 5
    print(i)

for i in range(0, 10, 2):  # 0, 2, 4, 6, 8（步進值）
    print(i)

# 同時取 index 和值
for i, fruit in enumerate(fruits):
    print(f"{i}: {fruit}")
```

---

## while 迴圈

```python
count = 0
while count < 5:
    print(count)
    count += 1
```

> [!warning] 注意避免無限迴圈，確保條件最終會變成 False。

---

## break / continue / pass

```python
# break：跳出整個迴圈
for i in range(10):
    if i == 5:
        break      # 迴圈在 i=5 時停止
    print(i)

# continue：跳過本次，繼續下一輪
for i in range(10):
    if i % 2 == 0:
        continue   # 跳過偶數
    print(i)      # 只印奇數

# pass：佔位用，什麼都不做
if True:
    pass           # 之後再補邏輯
```

---

## List Comprehension（清單生成式）

Python 的特色語法，簡潔地建立 list：

```python
# 一般寫法
squares = []
for i in range(10):
    squares.append(i ** 2)

# List comprehension（等同上面）
squares = [i ** 2 for i in range(10)]

# 加上條件篩選
even_squares = [i ** 2 for i in range(10) if i % 2 == 0]
```

---

← [[02-基本資料型態]] | 下一篇 → [[04-函式]]
