for 迴圈

Python SELF TW
等級 4 , 課堂 2
開放

8.1 for 迴圈

能夠根據條件執行一組命令是很棒的。那如果我想執行某個動作 100 次呢?怎麼做?

Python 語言中有迴圈。對於這個任務,非常適合使用迴圈 forfor 的一般形式如下:

for 變數 in 值列表:
    命令1
    命令2
    命令N

其中,值列表 是某個值的集合:列表、字串、字典(稍後會提到)。

變數 依次採用來自 值列表 的值,對每個值執行一個命令塊。

範例:

範例 說明

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
1. 將 fruit 變數賦值為 "apple",然後執行命令 print(fruit )。2. 將 fruit 變數賦值為 "banana",然後執行命令 print(fruit )。3. 將 fruit 變數賦值為 "cherry",然後執行命令 print(fruit )

這就是迴圈的運作原理

如果在 in 之後的列表中有 10 個值,那麼命令塊將執行 10 次。

值列表 中的每個值會發生兩件事:

  1. 迴圈變數(在 for 之後指定的變數)被賦予列表中的下一個值。
  2. 然後執行命令塊。

再看個例子:

範例 說明

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for x in numbers:
    print(x)
迴圈將在螢幕上顯示這些數字:
1
2
3
4
5
6
7
8
9
10

8.2 設定範圍—range

在最後的範例中,你可以看到顯示 10 個數字非常容易。但是如果我們想執行 100 次迴圈呢?或是 1000 次?

當然是有解決方案的。在 Python 中,有一個專門用來生成數字序列的函數 range(),搭配 迴圈 for,使它成為管理重複任務的強大工具。

函數 range() 可以根據傳遞給它的參數數量以不同的方式使用。

使用基本 range()

單一參數: range(n) 会产生序列從 0 到 n-1。當需要執行某操作多次時,這非常有用。


for i in range(5):
    print(i)  # 將輸出 0 到 4 的數字

兩個參數: range(start, stop) 會生成從 startstop-1 的序列。這在從某一特定數字開始迭代時非常有用。


for i in range(1, 6):
    print(i)  # 將輸出 1 到 5 的數字 

三個參數: range(start, stop, step) 加入第三個參數 step,它決定序列中數字之間的步長。


for i in range(0, 10, 2):
    print(i)  # 將輸出 0 到 8 的偶數  

反向迴圈: range() 可以生成逆序數字,允許執行反向迭代。


for i in range(10, 0, -1):
    print(i)  # 將輸出 10 到 1 的數字 

函數 range() 結合迴圈 for 提供了在 Python 中迭代控制的靈活工具。理解它的功能可幫助開發更高效且易於理解的迴圈,這是任何程式的組成要素。

8.3 列表迴圈

如果你想對不同的值執行一組操作,range() 函數可能不合適,你仍然可以使用方括號將這些值組合為列表。這個操作的通用形式如下:


for 變數 in [val1, val2, …, valN]:
    命令1
    命令2
    命令N

你只要用逗號分隔列出值,迴圈就會對每個值執行,變數會依次採用每個值。範例:

範例 說明

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
                    
迴圈將在螢幕上顯示字串:
apple
banana
cherry

你可以直接在迴圈中於單詞 in 之後指定數字:

範例 說明

for price in [0.99, 2.75, 0.25]:
    print(price)
迴圈將在螢幕上顯示數字:
0.99
2.75
0.25

列表中可以包括任何類型的對象:

範例 說明

for data in [0.99, "apple", -1, True]:
    print(data)
                
迴圈將在螢幕上顯示字串:
0.99
apple
-1
True
2
任務
Python SELF TW, 等級 4, 課堂 2
上鎖
粒子迴旋加速器
粒子迴旋加速器
2
任務
Python SELF TW, 等級 4, 課堂 2
上鎖
狡猾的拉賈
狡猾的拉賈
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION