while
語法
迴圈變數初始化
while 進入迴圈條件:
程式碼
迴圈變數遞增或遞減
flowchart TD
A[迴圈變數初始化] --> B{進入迴圈條件}
B -->|True| C[程式碼]
C --> D[迴圈變數遞增或遞減]
D --> B
B ---->|False| E[離開迴圈]
當進入迴圈條件為True,才進入迴圈,執行程式碼。
重點
- 迴圈條件是boolean,True或False。
- 要有迴圈變數遞增或遞減,最後變數符合離開迴圈的條件。
- 如果沒有迴圈變數沒有變化,會形成無窮迴圈。
- 迴圈變數遞增或遞減可放在程式碼區塊最後面,或放在「程式碼」前面。
1
2
3
4
i = 1
while i < 5:
print(i)
i += 1
1
2
3
4
無限迴圈
語法
while True:
if 離開迴圈的條件:
break
程式碼
使用True無限迴圈,一定要設定「離開迴圈的條件」,否則無法離開迴圈。
1
2
3
4
5
6
i = 1
while True:
if i >= 5:
break
print(i)
i += 1
1
2
3
4
while else break
若while正常的執行,沒有遇到break,就會到else區塊。
1
2
3
4
5
6
i = 1
while i < 5:
print(i)
i += 1
else:
print("else")
1
2
3
4
else
遇到break,就不會執行else中的程式碼。
1
2
3
4
5
6
7
8
9
10
11
i = 1
while i < 5:
if (i == 3):
break
print(i)
i = i + 1
print(i)
i += 1
else:
print("else")
print("i = ", i)
1
2
i = 3
continue
以下程式碼i==2 就把i增加,並移到「進入while迴圈判斷」,continue後面的程式碼就不執行。
迴圈變數沒有遞增遞減,沒有逐漸符合離開迴圈條件,會變成無窮迴圈,所以在continue之前要把i變數遞增。
1
2
3
4
5
6
7
8
9
i = 1
while i < 5:
if i == 2:
i += 1
continue
print(i)
i += 1
else:
print("else")
1
3
4
else