2024-08-25|閱讀時間 ‧ 約 26 分鐘

不再迷茫!手把手的Python入門教學-迴圈

用最直白的語言解釋最複雜的概念,一系列教學​讓你在短時間內掌握 Python

前情提要

  • Python是以“縮排”劃分程式碼,所以如果希望好幾段程式碼在迴圈底下執行,要記得縮排喔!
  • 條件判斷和迴圈在程式中被廣泛使用,靈活運用才是最重要的。
    • 我請AI生成了10份練習題目,想分享給大家,放在最後的連結喔!

迴圈(loop)

迴圈用於重複執行一段程式碼,直到滿足特定條件為止,可以幫助自動執行重複的程式,減少程式碼的冗餘,這邊介紹最常用的 for loop 跟 while loop 。

for迴圈

for迴圈可以讓變數在一個範圍內迭代,或是在字串或串列中遍歷所有元素,主要有以下幾種用法:

  • for i in range([start],[stop],[step]):range() 函數可以產生一個連續的數字範圍,其中參數[start]是起始數字,若無則從0開始,[stop]是結尾數字(需要注意的是結尾數字設定5,範圍最多只會到小於5,也就是4),[step]是步數,預設為1。
  • for i in string:變數 i 會從字串中的第一個字開始遍歷到最後一個字。
  • for i in list:變數 i 會從串列中的第一個元素開始遍歷到最後一個。(串列的概念之後的文章會提到)。

接著來看到下面的範例,以第一個for迴圈為例:

  1. range(5)產生一個迭代區間(0, 1, 2, 3, 4)
  2. i = 0
  3. 輸出 0
  4. 回到迴圈開頭
  5. i = 1
  6. 輸出 1
  7. 依此類推......
  8. i = 4
  9. 輸出 4
  10. 已遍歷到最後一個字,跳出迴圈

for迴圈

while迴圈

while迴圈會在後面加上判斷式,只要條件成立就會持續在迴圈中執行,所以通常會在迴圈中加上某個會持續增加(或減少)的整數變數(就像下方範例中的 count),但要小心不要讓程式產生無限迴圈(就是一直在迴圈裡面跑,沒有足夠的條件跳出迴圈),輕則產生bug,嚴重一點電腦當掉:)

接著一樣來看到下面的範例:

  1. 首先,count = 0 所以 count < 5 成立
  2. 輸出 0
  3. count += 1(相當於count = count + 1) → count = 1
  4. 回到迴圈開頭
  5. count < 5 成立(此時count = 1)
  6. 輸出 1
  7. count += 1 → count = 2
  8. 依此類推......
  9. 輸出 4
  10. count += 1 → count = 5
  11. count < 5 不成立(此時count = 5),跳出迴圈

while迴圈

迴圈控制

Python中有一些關鍵字可以控制迴圈的執行,以下介紹兩個最常用到的:

  • break:跳出整個迴圈
  • continue:直接跳回到迴圈開頭,繼續下一輪

迴圈控制

這邊來解釋一下上方的範例:

while i < 10: 原則上應該會輸出從 0~9 才對,但因為裡面有一個 if i == 5: 的判斷式,所以當i=5,if裡面的 break 會執行,強制跳出迴圈,但因為在跳出前,已經先執行了 print(i, end=' ') ,所以會輸出到5。

順帶一提,有時候也會直接用 while True:,然後直接在迴圈裡面用 break 控制,像下方範例就能改寫成:

i = 0

while True:

print(i, end = ' ')

if i == 5:

break

i += 1

print('')

然後看到 continue 的範例,一樣 while j < 10: 原則上應該會輸出 0~9 才對,但是因為裡面加上了 if j % 2 == 0: 的判斷式,所以當 j 是偶數時,條件成立,if裡面的 continue 會執行,跳回到迴圈的開頭繼續下一輪,所以只會輸出奇數。

⬇️程式檔放置區⬇️

這個 Python 教學系列的程式檔都放在以下雲端資料夾,如果需要可以自行下載來試試看,請使用 Jupyter Notebook 開啟程式檔,資料夾中附有 Jupyter開檔教學,跟著我一步一腳印學習程式語言吧!


分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.