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

results matching ""

    No results matching ""