---
# System prepended metadata

title: 流程控制語句
tags: [人生苦短，我學Python]

---

# 流程控制語句
###### tags: `人生苦短，我學Python`

## 選擇語句
* 最簡單的版本
```python=
if 表達式:
    接下來需要做的......
```
* 當然，前一章也看過了，也有else這種東西
```python=
a = 4
if a = 5:
#如果a = 5 
    print(a)
    #輸出a
else:
    a = 6
    #把6這個數值賦予給a
```
* 還有if/elif/else語句喔
```python=
a = 5
if a = 4: print(a)
elif a = 3: print(a)
else: print(a)
#最後輸出 5
```

* 盡量不要使用嵌(千)套
![](https://i.imgur.com/6Khcenb.png)

## 循環語句
* while迴圈
```python=
i = 0
while i < 5:
    print(i)
    i += 1
#i加到4的時候就會停了，記得要給它加判斷，不然會造成無線迴圈
```

* for迴圈
```python=
items = [1, 2, 3]
for item in items:
    print(item * 2)
# 2 
# 4 
# 6
# 其中的item是迭代變量，而items是對象，對象可以是list, str, tuple等，這邊就想程式每個東西都run過一遍會比較好理解
```

* 另一種for循環(range)
```python=
for i in range(0, 5, 2):
    print(i)
# 0 
# 2 
# 4
# range的配置如下
# range(start開始, end結束, step間隔)
# 由上述例子可知，start包含的起始點
# 當然，也可以只用一個參數，這樣就只有end
```

## 循環嵌套
* 就是在while裡有for迴圈，在for裡有while迴圈......
```python=
#自行建立test.py檔案 
#點擊 Ctrl + ~ 打開終端機
#輸入python test.py，即可看到結果
for i in range(5):
    for j in range(6):
        print(i * j)
```

## break, continue, pass語句
* break是強制停止的意思
```python=
for i in range(5):
    print(i)
    if i == 3:
        break
# 原本在這個迴圈哩，i的最大值為4
# 在加上了判斷條件後，i到3時，便會強制跳出迴圈
```
* continue的意思是進入下一次循環
```python=
i = 0
for i in range(1, 100):
    if i % 2 == 0:
        continue
    print(i)
# 在i%2的情況下，會直接跳過print的動作
# i的部分會直接+1，進入下個循環
```

* pass的意思是不用做任何事情
```python=
for i in range(1, 10):
    if i % 2 == 0:
        print(i, end = "")
    else:
        pass
# 2 4 6 8
```


{%hackmd S1DMFioCO %}