0% found this document useful (0 votes)
8 views3 pages

Python Flow

flow

Uploaded by

f07945052
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views3 pages

Python Flow

flow

Uploaded by

f07945052
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

這段程式碼展示了 Python 中「**流程控制(Control Flow)**」的概念。讓我們逐步了解:

### 程式碼解析:

```python
numbers = [5, -2, 4, 0, 7, -3, 8]
even_count = 0

for num in numbers:


if num < 0:
continue # 跳過負數
elif num == 0:
break # 遇到 0 時停止迴圈
elif num % 2 == 0:
even_count += 1 # 計算偶數

print(f"偶數的數量為:{even_count}")
```

1. **定義一個數字列表 `numbers`**:
- 包含正數、負數和零。

2. **初始化計數器 `even_count` 為 0**:


- 用於計算偶數的數量。

3. **使用 `for` 迴圈遍歷 `numbers` 列表**:


- **`if num < 0`**:
- 如果數字是負數,使用 `continue` 跳過此次迭代,繼續下一個數字。
- **`elif num == 0`**:
- 如果數字是 0,使用 `break` 結束迴圈。
- **`elif num % 2 == 0`**:
- 如果數字是偶數,將 `even_count` 加 1。
- **其他情況**:
- 如果數字是正的奇數,不做任何操作,繼續下一次迭代。

4. **輸出結果**:
- 使用 `print()` 函式輸出偶數的數量。

### 輸出結果:

```plaintext
偶數的數量為:1
```

### 流程控制解釋:

- **`for` 迴圈**:
- 用於遍歷 `numbers` 列表中的每個元素。

- **`if`、`elif` 和 `else`**:
- 控制程式在不同條件下的執行路徑。

- **`continue`**:
- 跳過當前迭代,立即開始下一次迭代。
- 在這個例子中,負數被跳過,不參與後續的判斷。

- **`break`**:
- 結束整個迴圈。
- 當遇到數字 0 時,迴圈停止,不再繼續遍歷剩餘的數字。
- **計算偶數**:
- 使用 `num % 2 == 0` 判斷數字是否為偶數。
- 如果是偶數,則將計數器 `even_count` 加 1。

- **`print()` 函式**:
- 用於輸出最終結果。

### 進一步的範例:

以下是更多有關流程控制的例子:

#### 1. 使用 `while` 迴圈計算階乘:

```python
n = 5
factorial = 1
i = 1

while i <= n:
factorial *= i
i += 1

print(f"{n} 的階乘是:{factorial}")
```

**輸出:**

```plaintext
5 的階乘是:120
```

**解釋:**

- **`while` 迴圈**:
- 當條件 `i <= n` 為真時,迴圈持續執行。
- **計算階乘**:
- 每次迭代將 `factorial` 乘以當前的 `i` 值。

#### 2. `for` 迴圈搭配 `else`:

```python
primes = [2, 3, 5, 7]
for num in primes:
print(num)
else:
print("已列出所有質數")
```

**輸出:**

```plaintext
2
3
5
7
已列出所有質數
```
**解釋:**

- **`else` 子句**:
- 當 `for` 迴圈正常結束(未被 `break` 中斷)時,執行 `else` 部分。

#### 3. 巢狀迴圈與 `break`:

```python
for i in range(1, 5):
for j in range(1, 5):
if i * j > 6:
break
print(f"{i} * {j} = {i * j}")
```

**輸出:**

```plaintext
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
3 * 1 = 3
3 * 2 = 6
4 * 1 = 4
4 * 2 = 8
```

**解釋:**

- **巢狀迴圈**:
- 內部的 `for` 迴圈在外部 `for` 迴圈的每次迭代中執行。
- **`break` 的作用範圍**:
- `break` 只會中斷所在的內部迴圈。

### 結論:

- **流程控制**是程式設計中不可或缺的一部分,透過 `if`、`for`、`while`、`break`、`continue` 等關鍵字,可以控制程式的執行順序和


邏輯。
- 理解這些概念有助於編寫高效且可讀性強的程式。

You might also like