
2-3:迴圈
程式設計常常會用到重複的程序,例如我設了一個變數 n=0,我要將 n 一直加 1,這時候就要用到「迴圈」來重複執行加 1 這個指令。
Python 語言可以使用 for 語法和 while 語法來實現迴圈,以下就來看看這兩種的用法吧!
快速連結
for 語法
while 語法
for 語法
for i in range(5):
print(i) # 要記得縮排

程式解析:
for 語法撰寫迴圈,range() 命令填 5,意思是這個迴圈會執行五次,每一次都把 變數 i 的值印出。
變數 i 的值從 0 開始
range 命令有以下的用法:
帶入的參數 | 意義 |
range(n) | 變數值從 0 開始,迴圈執行 n 次。 |
range(n1, n2) | 變數值從 n1 開始,執行 n2 – n1 次。 |
range(n1, n2, n3) | 變數值從 n1 開始,每次遞增或遞減 n3,直到值為 n2。 |
以下再來分別介紹。
range(2, 10)
for i in range(2, 10):
print(i)

程式解析:
變數 i 的值從 2 開始,執行 10 – 2 次。
range(0, 10, 2)
for i in range(0, 10, 2):
print(i)

程式解析:
變數 i 的值從 0 開始,每次執行後 i 要加 2,直到 10 為止。(不包含 10)
P.S. 在 for 底下再寫個 for,此稱為雙層迴圈。
for i in range(3):
print("\n目前 i 的值:", i)
for j in range(6):
print("j 的值:", j)

程式解析:
最外層迴圈總共會執行三次,每當最外層執行時,底下會先跑六次 j 迴圈,結束後再換下一次。
while 語法
n = 0
while n < 10:
print(n)
n += 2

程式解析:
使用 while 迴圈,旁邊要寫「條件式」,像判斷的條件式一樣,如果條件為 True 就執行底下縮排指令,以上述為例,變數 n 一開始值為 0,0 小於 10 符合條件,因此執行底下敘述,執行到最後一行,將 n 加 2 後,再回到開頭判斷條件,直到條件為 False,才跳出迴圈。
break 跳出迴圈
使用 break 敘述,可以在迴圈還沒全部執行完,就跳出迴圈。
n = 0
while True: # 這是無窮迴圈,會一直執行下去,除非用 break 跳出迴圈。
n += 1
if n == 1997:
break
print("目前 n 的值為:", n)

程式解析:
使用 while 迴圈,旁邊寫 True,因為是真,所以迴圈會一直執行下次,此迴圈稱為無窮迴圈;一開始設一個變數 n 值為 0,然後迴圈每執行一次就將 n 加 1,直到值等於 1997 後,再使用 break 敘述跳出迴圈。
練習題目:
請使用雙層迴圈撰寫九九乘法表,執行結果如下:

先自己練習完,再到 Colab 看答案!
如果覺得文章內容還不錯的話,麻煩請幫我點個讚!感謝
可以多點幾次喔~~
第一次點讚需使用 Google 或 Facebook 帳號註冊

