答案頁 · 12 道題

Python for 迴圈練習答案

本頁彙整 Python for 迴圈 的 12 道練習。先做練習頁,再回到這裡核對準確答案和原因。

快速答案

本答案頁包含 Python for 迴圈 的 4 道選擇題、4 道填空題和 4 道輸出預測題,每題都給出準確答案和簡短解釋。

答案已完整展示,建議先嘗試作答,再用本頁核對。第一次練習最好從互動練習頁開始。

01 · 選擇題

range(3) 會產生哪些值?

  1. 3
  2. 0, 1, 2正確答案
  3. 0, 1, 2, 3
  4. 1, 2, 3

答案: 0, 1, 2

為什麼: range(stop) 從 0 開始,不包含 stop。

02 · 選擇題

在 for order in orders 中,迴圈變數會接收什麼?

  1. 整個列表的副本
  2. orders 中的每個值正確答案
  3. 只有索引
  4. orders 的長度

答案: orders 中的每個值

為什麼: for 迴圈會把可迭代物件中的每個元素依次賦給迴圈變數。

03 · 選擇題

數字累加器應該在哪裡建立?

  1. print 呼叫內部
  2. 迴圈之前正確答案
  3. 列印總價之後
  4. 迴圈體內部

答案: 迴圈之前

為什麼: 累加器必須在第一次更新前存在,並在迭代之間保留。

04 · 選擇題

程式碼的輸出結果是什麼?

print(list(range(2, 5)))
  1. [2, 3]
  2. [2, 3, 4]正確答案
  3. 2, 3, 4
  4. [0, 1, 2]

答案: [2, 3, 4]

為什麼: range(2, 5) 從 2 開始,到 5 之前結束。

05 · 填空題

補全 range,使迴圈存取 0、1 和 2。

for i in range(____):
    print(i)

答案: 3

為什麼: range(3) 會產生 0、1、2。

06 · 填空題

補全迴圈,使 order 依次存取 orders 中的每一項。

orders = ["拿鐵", "摩卡"]
for order in ____:
    print(order)

答案: orders

為什麼: in 後面放可迭代物件。

07 · 填空題

補全更新語句,使 total 每次增加 price。

for price in prices:
    total ____ price

答案: +=

為什麼: total += price 是 total = total + price 的簡寫。

08 · 填空題

補全步長,使 range 產生 0、2 和 4。

print(list(range(0, 6, ____)))

答案: 2

為什麼: range 的第三個參數是步長。

09 · 輸出預測

螢幕上會顯示什麼?

print(list(range(3)))

答案: [0, 1, 2]

為什麼: range(3) 產生 0、1、2;list 把它們顯示在方括號中。

10 · 輸出預測

這段程式碼會輸出什麼?

total = 0
for n in [2, 4, 6]:
    total += n
print(total)

答案: 12

為什麼: 迴圈依次累加 2 + 4 + 6。

11 · 輸出預測

執行結果是什麼?

print([x * 2 for x in [1, 2, 3]])

答案: [2, 4, 6]

為什麼: 列表推導式把每個元素乘以 2。

12 · 輸出預測

這段程式列印出什麼?

letters = []
for ch in "abc":
    letters.append(ch)
print("".join(letters))

答案: abc

為什麼: 迴圈收集字元,join 再把它們合成一個字串。

先試一遍題目

打開 Python for 迴圈 練習頁,用即時回饋回答同樣的 12 道題。

練習本課