PYTHON For Loop迴圈

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

一、基本介紹

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

二、範例

  1.從字典中取出成績

程式碼1
終端機1
先看一下完整的程式碼,首先先建立我們的資料,也就是班上成績,利用大括弧{}來建立字典,接下來有三個做法取出成績,第一個是迴圈,第二個是土法煉鋼全部print出來,第三個是使用字典的語法,我們先從第一個看起。
1-1:
  這邊可以利用我剛剛所說的用中文的方式去理解,從範圍range(len(list(class_grade.keys())))中取出第一個值叫做變數 i ,接下來對變數i進行操作。
1-1
  我們先看到範圍裡面的class_grade.keys()這代表取出所有class_grade中所有的key,會得到這個結果:
class_grade.keys()的終端機
接下來利用列表list(),將他轉換成列表:
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-3
  利用字典的函數可以快速取出所有值,但對於接下來要進行最大值最小值,或是平均的計算不太好用。
1-3

  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

  2.反向處理

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

  3.新增索引值

    使用enumerate可以將list新增索引值
程式碼5
終端機5

四、結論

  for迴圈可以說是基礎中的基礎,但它可以做到的事,已經超過基礎的範圍,在這章節的範例有簡單也有比較困難的,進入下一章節前弄明白才不會對PYTHON累積太多的疑問,可以多做練習熟悉操作
為什麼會看到廣告
10會員
10內容數
每次要學習程式語言時都會覺得很困難,不敢嘗試,我會將我學python遇到的困難和做法在文章中詳細講述,但我不是本科生,在介紹上可能有錯誤所以有問題都可以提出或是糾正,謝謝
留言0
查看全部
發表第一個留言支持創作者!
清蒸魚的沙龍 的其他內容
  在寫程式時最重要的就是一開始的基本語法,今天要介紹的是if判斷式的基本用法,用起來非常簡單。
  在計算數字時我們要先搞懂運算符號代表的涵義,Python裡面的符號跟我們認知的不會有太大的差別,但是有一些代表不一樣的意思,就必須搞懂才不會在寫程式時,程式碼的重複性太高,會導致日後的維修性降低。
常常會遇到好不容易寫好程式,但是輸出的時候沒辦法按照自己想要的格式,或是間隔來輸出,這時需要用到的就是格式化輸出,格式化輸出就是調整排版的一個形式。
一、什麼是變數?   變數是指用來代表某一種資料型態的符號,以非數字的符號來表達,可以是英文字母也可以是一個英文單字,不過python有一些英文字母不能被當作變數,我們稱作保留字,例如:False、None、True、and、is、not、or、......,之後會在介紹。
IDE是甚麼? IDE又叫做整合開發環境(Integrated Development Environment),在編輯程式碼時有許多的步驟,例如撰寫、編譯、除錯、執行......等過程,都是分開進行,但現在可以在同一個環境下開發,而使用的這些環境正是IDE。
PYTHON 介紹 Python 是一種被廣泛使用的高階編程語言,它的用途十分廣泛,支援了多種的程式設計的範式,包括函數式、指令式、結構化、物件導向。 Python的設計哲學強調了它簡潔的語法,是使用空格縮進來劃分程式碼。 Python是的社群中擁有許多模組可以使用,在進行某些用途時可以很引入模組,
  在寫程式時最重要的就是一開始的基本語法,今天要介紹的是if判斷式的基本用法,用起來非常簡單。
  在計算數字時我們要先搞懂運算符號代表的涵義,Python裡面的符號跟我們認知的不會有太大的差別,但是有一些代表不一樣的意思,就必須搞懂才不會在寫程式時,程式碼的重複性太高,會導致日後的維修性降低。
常常會遇到好不容易寫好程式,但是輸出的時候沒辦法按照自己想要的格式,或是間隔來輸出,這時需要用到的就是格式化輸出,格式化輸出就是調整排版的一個形式。
一、什麼是變數?   變數是指用來代表某一種資料型態的符號,以非數字的符號來表達,可以是英文字母也可以是一個英文單字,不過python有一些英文字母不能被當作變數,我們稱作保留字,例如:False、None、True、and、is、not、or、......,之後會在介紹。
IDE是甚麼? IDE又叫做整合開發環境(Integrated Development Environment),在編輯程式碼時有許多的步驟,例如撰寫、編譯、除錯、執行......等過程,都是分開進行,但現在可以在同一個環境下開發,而使用的這些環境正是IDE。
PYTHON 介紹 Python 是一種被廣泛使用的高階編程語言,它的用途十分廣泛,支援了多種的程式設計的範式,包括函數式、指令式、結構化、物件導向。 Python的設計哲學強調了它簡潔的語法,是使用空格縮進來劃分程式碼。 Python是的社群中擁有許多模組可以使用,在進行某些用途時可以很引入模組,
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
本篇我們會繼續討論從Part 1 撈取的 df_878 中提取股票代碼,並使用先前Part 2 定義的 get_info_yfinance 函式來獲取 Yahoo Finance 上的財務資料,接著將這些資料貼回 df_878 的相應欄位中。
Thumbnail
在流程控制中,最常用的就是for loop 或是 while loop 語法了。 最常見的場景就是根據條件判斷式,重複執行特定的指令。 如果要在python寫出類似C/C++ for loop,可以怎麼寫呢? 透過索引去進行迭代 for var in range( start=0, sto
Thumbnail
本文介紹了Python中zip與enumerate函式的使用,以及它們的語法說明和程式範例。zip函式允許同時迭代多個可迭代對象,這使得程式碼更簡潔;而enumerate函式則在迭代時,提供元素的索引,使得實用工具,尤其是當需要追蹤元素的位置時。
Thumbnail
我們在處理音檔時常常會使用到 [soundfile](https://pypi.org/project/soundfile/) 這套工具, 當我們試圖讀取檔案時卻發生了這樣的錯誤訊息… TypeError: Not allowed for existing files (except 'RAW')
Thumbnail
在日常中,常有重複性相當高的事情,不斷地重複在做,重複的事做久就會慢慢變成是一個習慣,這個習慣就會讓人下意識地完成一些事情。 習慣是一種自動化的行為模式,這些行為模式在重複進行的過程中變得固定且容易自動化。 在Python程式語言中,for迴圈就類似這種概念
Thumbnail
for 和 while 迴圈,回圈觀念就是重複,想像自己是一位跑者,需要繞操場十圈才能抵達終點,這十圈在同一個操場上奔跑,這個概念轉換回來解釋程式的回圈就是一直做重複的事情。 for 迴圈是 Python 中的一個迴圈控制結構,用於對集合(例如清單、字串、元組等)中的每個元素進行迭代操作
Thumbnail
迴圈對象可以是列表或範圍,透過定義重複動作的內容,我們可以在迴圈中執行指定次數的操作。利用range函數,我們可以自訂重複執行的次數。同時,我們也介紹了break和continue的使用,以及巢狀迴圈的特性。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
本篇我們會繼續討論從Part 1 撈取的 df_878 中提取股票代碼,並使用先前Part 2 定義的 get_info_yfinance 函式來獲取 Yahoo Finance 上的財務資料,接著將這些資料貼回 df_878 的相應欄位中。
Thumbnail
在流程控制中,最常用的就是for loop 或是 while loop 語法了。 最常見的場景就是根據條件判斷式,重複執行特定的指令。 如果要在python寫出類似C/C++ for loop,可以怎麼寫呢? 透過索引去進行迭代 for var in range( start=0, sto
Thumbnail
本文介紹了Python中zip與enumerate函式的使用,以及它們的語法說明和程式範例。zip函式允許同時迭代多個可迭代對象,這使得程式碼更簡潔;而enumerate函式則在迭代時,提供元素的索引,使得實用工具,尤其是當需要追蹤元素的位置時。
Thumbnail
我們在處理音檔時常常會使用到 [soundfile](https://pypi.org/project/soundfile/) 這套工具, 當我們試圖讀取檔案時卻發生了這樣的錯誤訊息… TypeError: Not allowed for existing files (except 'RAW')
Thumbnail
在日常中,常有重複性相當高的事情,不斷地重複在做,重複的事做久就會慢慢變成是一個習慣,這個習慣就會讓人下意識地完成一些事情。 習慣是一種自動化的行為模式,這些行為模式在重複進行的過程中變得固定且容易自動化。 在Python程式語言中,for迴圈就類似這種概念
Thumbnail
for 和 while 迴圈,回圈觀念就是重複,想像自己是一位跑者,需要繞操場十圈才能抵達終點,這十圈在同一個操場上奔跑,這個概念轉換回來解釋程式的回圈就是一直做重複的事情。 for 迴圈是 Python 中的一個迴圈控制結構,用於對集合(例如清單、字串、元組等)中的每個元素進行迭代操作
Thumbnail
迴圈對象可以是列表或範圍,透過定義重複動作的內容,我們可以在迴圈中執行指定次數的操作。利用range函數,我們可以自訂重複執行的次數。同時,我們也介紹了break和continue的使用,以及巢狀迴圈的特性。