PYTHON For Loop迴圈

更新於 發佈於 閱讀時間約 5 分鐘

  寫程式最重要的目標就是讓重複的工作交給電腦去執行,解放雙手和精力去做重複的事情,今天要介紹的迴圈就是可以讓電腦重複執行程式直到條件結束的方式。

一、基本介紹

  這邊我喜歡用中文來翻譯這個程式的意思,在理解過程中我會這樣去理解他,從範圍內取出第一個數值當作變數,接下來對變數進行操作。

  for 變數的名稱 in range(範圍):
    對變數進行操作

二、範例

  1.從字典中取出成績

程式碼1

程式碼1

終端機1

終端機1

先看一下完整的程式碼,首先先建立我們的資料,也就是班上成績,利用大括弧{}來建立字典,接下來有三個做法取出成績,第一個是迴圈,第二個是土法煉鋼全部print出來,第三個是使用字典的語法,我們先從第一個看起。

1-1:
  這邊可以利用我剛剛所說的用中文的方式去理解,從範圍range(len(list(class_grade.keys())))中取出第一個值叫做變數 i ,接下來對變數i進行操作。

1-1

1-1

  我們先看到範圍裡面的class_grade.keys()這代表取出所有class_grade中所有的key,會得到這個結果:

class_grade.keys()的終端機

class_grade.keys()的終端機

接下來利用列表list(),將他轉換成列表:

list(class_grade.keys())的終端機

list(class_grade.keys())的終端機

再利用len()來計算長度,也就是有幾位學生,會得到10,因為有10為位學生
接著range()就會知道是range(10),也就是說目前的程式碼變成for i in range(10),從範圍10內取出第一個當作變數i,變數i就會是從零到九(0,1,2,3.....,9)。
接著我們看到迴圈內部我們要對變數i進行什麼操作:

迴圈內部

迴圈內部

先看到第一部分class_grade就是我定義的學生成績字典,要從字典中拿出第一個成績,我要輸入的是class_grade[學生的名字]
那我要如何取得學生的名字呢?
就從第二部分中剛剛建立的學生名字列表取出,但我一次只要取出一個名字,所以我利用索引[i],索引[0]代表取出列表中的第一個,不清楚地可以回去看前面幾集的PYTHON格式化輸出這篇。

1-2
  如果說我們不使用迴圈,也能達到一樣的效果,但就必須一字一句的將要輸出的內容打出來,這裡會遇到一個新手寫程式最容易犯的錯,就是重複性太高,如果這時候我要輸出的是別班的成績,會因為同學名字不同,整個程式碼要進行大修改,如果程式碼無法擁有重複使用的特性,那直接將成績用鍵盤打出還會比寫出程式碼來的快速。

1-2

1-2

1-3
  利用字典的函數可以快速取出所有值,但對於接下來要進行最大值最小值,或是平均的計算不太好用。

1-3

1-3

  2.找出質數

程式碼2

程式碼2

終端機2

終端機2

這裡使用到了雙重迴圈也就是巢狀迴圈

首先看外面的迴圈,假設我輸入的數值是10(N = 10),從範圍2~10(數值是11但python是取到10),將第一個數質設為變數i(此時i=2),

接下來進入第二個迴圈,從範圍2~i,將第一個數質設為變數n(此時n=2)

進入迴圈內部,如果n % i 是0的話跳出,%取餘數的意思

而這裡會看到else跟if在不同的階層,這是python特殊的用法,for 和下次會提到也是迴圈用法的while也可以像if有else,當迴圈沒有中斷會繼續執行else,但如果中斷了就會跟著break一起直接跳出

這裡算是迴圈的進階題,可以多看幾次來確保自己的邏輯正確

三、特殊用法

  1.單行

    可以將for 寫成單行讓程式碼看起來更簡潔,將上一個找質數的例子用在這裡,最後還要進行一兩個列表的差集,我個人是不會使用這樣的方式來寫程式碼,因為我覺得沒有那麼的直覺,所以這方面可以自由斟酌,如果是簡單得迴圈就可以使用

程式碼3

程式碼3

終端機3

終端機3

  2.反向處理

    使用reversed可以迴圈從後方的值,倒回來處理,也可以自行處理,就像是第二個方法一樣

程式碼4

程式碼4

終端機4

終端機4

  3.新增索引值

    使用enumerate可以將list新增索引值

程式碼5

程式碼5

終端機5

終端機5

四、結論

  for迴圈可以說是基礎中的基礎,但它可以做到的事,已經超過基礎的範圍,在這章節的範例有簡單也有比較困難的,進入下一章節前弄明白才不會對PYTHON累積太多的疑問,可以多做練習熟悉操作

留言
avatar-img
留言分享你的想法!
avatar-img
清蒸魚的沙龍
11會員
10內容數
每次要學習程式語言時都會覺得很困難,不敢嘗試,我會將我學python遇到的困難和做法在文章中詳細講述,但我不是本科生,在介紹上可能有錯誤所以有問題都可以提出或是糾正,謝謝
清蒸魚的沙龍的其他內容
2021/12/25
  python這個程式語言,還有一項優點就是,擁有龐大的模組支援,所以在寫程式時可多利用網路上的模組,節省寫程式的時間。
Thumbnail
2021/12/25
  python這個程式語言,還有一項優點就是,擁有龐大的模組支援,所以在寫程式時可多利用網路上的模組,節省寫程式的時間。
Thumbnail
2021/10/31
  在寫程式時最重要的就是一開始的基本語法,今天要介紹的是if判斷式的基本用法,用起來非常簡單。
Thumbnail
2021/10/31
  在寫程式時最重要的就是一開始的基本語法,今天要介紹的是if判斷式的基本用法,用起來非常簡單。
Thumbnail
2021/09/22
  在計算數字時我們要先搞懂運算符號代表的涵義,Python裡面的符號跟我們認知的不會有太大的差別,但是有一些代表不一樣的意思,就必須搞懂才不會在寫程式時,程式碼的重複性太高,會導致日後的維修性降低。
Thumbnail
2021/09/22
  在計算數字時我們要先搞懂運算符號代表的涵義,Python裡面的符號跟我們認知的不會有太大的差別,但是有一些代表不一樣的意思,就必須搞懂才不會在寫程式時,程式碼的重複性太高,會導致日後的維修性降低。
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
在流程控制中,最常用的就是for loop 或是 while loop 語法了。 最常見的場景就是根據條件判斷式,重複執行特定的指令。 如果要在python寫出類似C/C++ for loop,可以怎麼寫呢? 透過索引去進行迭代 for var in range( start=0, sto
Thumbnail
在流程控制中,最常用的就是for loop 或是 while loop 語法了。 最常見的場景就是根據條件判斷式,重複執行特定的指令。 如果要在python寫出類似C/C++ for loop,可以怎麼寫呢? 透過索引去進行迭代 for var in range( start=0, sto
Thumbnail
for 和 while 迴圈,回圈觀念就是重複,想像自己是一位跑者,需要繞操場十圈才能抵達終點,這十圈在同一個操場上奔跑,這個概念轉換回來解釋程式的回圈就是一直做重複的事情。 for 迴圈是 Python 中的一個迴圈控制結構,用於對集合(例如清單、字串、元組等)中的每個元素進行迭代操作
Thumbnail
for 和 while 迴圈,回圈觀念就是重複,想像自己是一位跑者,需要繞操場十圈才能抵達終點,這十圈在同一個操場上奔跑,這個概念轉換回來解釋程式的回圈就是一直做重複的事情。 for 迴圈是 Python 中的一個迴圈控制結構,用於對集合(例如清單、字串、元組等)中的每個元素進行迭代操作
Thumbnail
我們探討了while迴圈的使用,不同於for迴圈,while迴圈以條件式判斷為基礎,而非限定重複次數。我們介紹了使用break語句強制結束迴圈,以及使用continue語句跳過特定程式碼並返回迴圈開頭,同時,我們提及了無窮迴圈的概念,強調了在迴圈中必須更改迴圈變數的值,以避免無窮迴圈的發生。
Thumbnail
我們探討了while迴圈的使用,不同於for迴圈,while迴圈以條件式判斷為基礎,而非限定重複次數。我們介紹了使用break語句強制結束迴圈,以及使用continue語句跳過特定程式碼並返回迴圈開頭,同時,我們提及了無窮迴圈的概念,強調了在迴圈中必須更改迴圈變數的值,以避免無窮迴圈的發生。
Thumbnail
迴圈對象可以是列表或範圍,透過定義重複動作的內容,我們可以在迴圈中執行指定次數的操作。利用range函數,我們可以自訂重複執行的次數。同時,我們也介紹了break和continue的使用,以及巢狀迴圈的特性。
Thumbnail
迴圈對象可以是列表或範圍,透過定義重複動作的內容,我們可以在迴圈中執行指定次數的操作。利用range函數,我們可以自訂重複執行的次數。同時,我們也介紹了break和continue的使用,以及巢狀迴圈的特性。
Thumbnail
在這篇Python學習筆記中,我們研究了條件判斷和迴圈,透過if、else、elif條件語句,我們能根據條件執行程式碼。使用for迴圈和while迴圈,我們可以重複執行程式碼塊。同時,我們還介紹了break和continue等控制流程的使用方法。這些概念將幫助你寫出更靈活和有趣的程式!
Thumbnail
在這篇Python學習筆記中,我們研究了條件判斷和迴圈,透過if、else、elif條件語句,我們能根據條件執行程式碼。使用for迴圈和while迴圈,我們可以重複執行程式碼塊。同時,我們還介紹了break和continue等控制流程的使用方法。這些概念將幫助你寫出更靈活和有趣的程式!
Thumbnail
什麼是迴圈?就是不停地、不斷地在做同樣的事,所以才稱「重複性迴圈」,因為一直再輪迴,那麼像上一篇的例子,不到60分就要一直補考是要怎麼用呢?重複性迴圈主要有for迴圈、while迴圈、do...while迴圈,有何不一樣?接下來就來介紹一下它們? 一、for迴圈 這一個會運用到初始值、繼續執行的條件
Thumbnail
什麼是迴圈?就是不停地、不斷地在做同樣的事,所以才稱「重複性迴圈」,因為一直再輪迴,那麼像上一篇的例子,不到60分就要一直補考是要怎麼用呢?重複性迴圈主要有for迴圈、while迴圈、do...while迴圈,有何不一樣?接下來就來介紹一下它們? 一、for迴圈 這一個會運用到初始值、繼續執行的條件
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News