[Python基礎]流程控制for迴圈

2024/01/14閱讀時間約 5 分鐘

在日常中,常有重複性相當高的事情,不斷地重複在做,重複的事做久就會慢慢變成是一個習慣,這個習慣就會讓人下意識地完成一些事情。

習慣是一種自動化的行為模式,這些行為模式在重複進行的過程中變得固定且容易自動化。

在Python程式語言中,for迴圈就類似這種概念,只是要先預設要做幾次的設定,不同於其他程式語言會定義疊代步驟終止條件來執行,在Python中是疊代任何序列list 或者字串)的元素,根據序列的索引的長度來決定跑幾次。

基本語法

for 變數 in 可迭代對象:
# 在這裡執行相應的程式碼

​程式範例

遍歷列表

這將遍歷 fruits 列表中的每個元素,將它們賦值給 fruit,然後執行print(fruit)

fruits列表長度為3,所以for迴圈會跑三圈,依序將fruits列表的內容依序印出

fruits = ['apple', 'banana', 'cherry']
print(f'fruits序列長度: {len(fruits)}') #len()印出序列長度
for fruit in fruits:
print(fruit)
for印出

for印出

使用 range() 函數

若要做到像其他程式語言的也設定一個數字,讓For圈去執行重複性的工作,就要用到range()函數先產生一個迭代數字序列。

range_list = list(range(5)) #range(5)迭代數字序列
print(range_list)
for i in range(5):
print(f'跑了第幾{i}圈')
利用range()

利用range()

九九乘法表

小時候都要背九九乘法表,我們來用Python寫出九九乘法表吧。

這時候就要利用到巢狀迴圈兩層for迴圈來完成

巢狀迴圈是指在迴圈內部包含另一個迴圈

for i in range(1, 10): #外迴圈 
for j in range(1, 10): #內迴圈 全做完在會在回到外迴圈
print(f"{i} * {j} = {i*j}", end='\t') # end='\t'跳格
print()
九九乘法表

九九乘法表

我們用簡單範例,來拆解巢狀迴圈,若跑到內迴圈就會執行完內迴圈,才會再回到外迴圈,讓我們看以下範例執行出來的結果,比較好理解這流程。

外迴圈時就印出 外迴圈第幾圈

內迴圈就印出 現在是內迴圈第幾圈

在新增一個if來判斷內迴圈走到第三圈時印出提醒,走完囉,該走外迴圈了

range(1,4)會生成一個包含 1 到 3 的整數序列。

for i in range(1,10):
print(f'外 迴圈第{i}圈')
for j in range(1,4):
print(f'內 迴圈第{j}圈')
if j == 3:
print('----內迴圈走完----')
程式輸出結果

程式輸出結果

字典的巢狀迴圈

這個例子中,student_grades 是一個字典,外部迴圈遍歷每個學生,內部迴圈遍歷每個科目和分數。

student_grades該字典包含了學生的名字作為,而是每個學生的成績是一個包含科目和分數的字典

外迴圈 : 取出student的名字,再將子字典命名為grades讓內迴圈做使用

內迴圈:取出student科目及分數,在印出

字典的介紹可以參考 : 「Python基礎」容器:字典{ dit }集合{set}

student_grades = {
'Alice': {'Math': 90, 'English': 85, 'Science': 88},
'Bob': {'Math': 75, 'English': 92, 'Science': 80}
}

for student, grades in student_grades.items():
print(f"{student}'s grades:")
for subject, score in grades.items():
print(f"{subject}: {score}")
print()
字典應用for迴圈

字典應用for迴圈

student_grades = {
'Alice': {'Math': 90, 'English': 85, 'Science': 88},
'Bob': {'Math': 75, 'English': 92, 'Science': 80}
}

這裡定義了一個字典 student_grades,包含兩位學生(Alice 和 Bob)的成績。每位學生的成績以子字典的形式存儲,其中鍵是科目(Math、English、Science)值是分數。


其他流程控制內容:

[Python基礎]流程控制while迴圈,break ,continue

[Python基礎]流程控制If Eles


喜歡的話,在點愛心,加入會員追蹤作者,會持續更新分享,謝謝大家







49會員
86內容數
Python程式設計師,不是在學習就是在學習的路上
留言0
查看全部
發表第一個留言支持創作者!