---
# System prepended metadata

title: FDCSC111 Oct 19th
tags: [FDCSC]

---

---
tags: FDCSC
title: FDCSC111 Oct 19th
---

FDCSC Oct 20th
===

# 迴圈 loop

### 概念

- 可以不斷執行相似事務直到條件不符合

### 流程圖

```flow
s=>start: 程式碼開始執行
e=>end: 結束程式
op2=>operation: 程式碼
cond=>condition: if判斷式

s->cond->op2
cond(no)->e
cond(yes)->op2
op2->cond

```

![](https://i.imgur.com/y9hYpQ4.png)

### 分類

1. while loop
2. for loop

## while loop

### 語法

```python=
while 布林值:
    # 程式碼
```

### 實際應用

```python=
i = 100

while i != 0:
    print( i )
    i += 1
```

### break & continue

#### break
- 用於結束迴圈

#### continue

- 用於跳過以下步驟進行下次迴圈

```python=
i = 100

while i > -100:
    if i < 0:
        print( 0 )
        break
    if i < 10:
        print( 10 )
        continue
    print( i )
    i -= 10
```

```python=
i = 10
while i > 0:
    # 程式碼片段A
    if i > 5:
        continue
    # 程式碼片段B
    if i < 3:
        break
    # 程式碼片段C
```

#### 小問題

- 程式碼片段A會被執行幾次呢？
- 程式碼片段B會被執行幾次呢？
- 程式碼片段C會被執行幾次呢？

## for loop

## 語法

```python=
for 變數 in range/list/dict/tuple/map/set/str:
    # 程式碼
```

## range 函式

### 語法
```python=
range([start], [stop], [step])
```

### 說明

- 表示整數範圍
- 從**start**開始，**stop**結束，每次往下**step**個數字
    (首項為**start**，公差為**step**，最後一項小於**stop**的等差數列)

|放入變數個數|1|2|3|
|---|---|---|---|
|放入變數|**stop**|**start**, **stop**|**stop**, **start**, **step**|
|意涵|range(0, b, 1)|range(a, b, 1)|range(a, b, c)

- 結論：**range**的**start**預設為0, **step**預設為1

## list/dict/map/tuple/set/str
[詳情請看資料結構篇](https://hackmd.io/@FDCSC/first_class)
