免費開始練習
普通考試 114年 [資訊處理] 計算機概要

第 18 題

若執行以下的 Python 程式碼,則螢幕上的輸出為下列何者?

```python
data = [x*y for x in range(4) for y in range(3) if x>y and y%2==0]
print(data)
```
  • A [6, 8]
  • B [0, 0, 0, 6]
  • C [0, 0, 2, 0, 3, 6]
  • D [2, 3, 6, 4, 8, 12]

思路引導 VIP

要拆解這種單行寫法的程式碼,你能試著在紙上把它展開成傳統的 for 迴圈與 if 判斷式嗎?展開之後,符合 y % 2 == 0 的 $y$ 值會剩下哪幾個數字?接著再套入 $x > y$ 去配對看看呢?

🤖
AI 詳解 AI 專屬家教

🎉 教授點評與詳解

太棒了! 你的 Python 基礎非常紮實,完全掌握了這段程式碼的邏輯,教授對此給予高度肯定!

  1. 觀念驗證
▼ 還有更多解析內容
📝 Python 串列推導式
💡 掌握巢狀迴圈推導式的執行順序與條件過濾機制

🔗 串列推導式執行邏輯鏈

  1. 1 外層迴圈 — 依序取出 x 之值 (0, 1, 2, 3)
  2. 2 內層迴圈 — 針對各個 x 遍歷 y 之值 (0, 1, 2)
  3. 3 多重條件判斷 — 篩選符合 x > y 且 y % 2 == 0 的組合
  4. 4 表達式運算 — 符合條件者執行 x * y 並依序填入串列
🔄 延伸學習:延伸學習:推導式中若有多個 if,其效果等同於使用 and 連接。
🧠 記憶技巧:左外右內、先篩後算、range 終點減一
⚠️ 常見陷阱:容易誤將 if 條件看成只針對單一迴圈,或將 range(4) 誤計入 4。
巢狀迴圈 Generator Expression Python 邏輯運算子

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

程式語言基礎:語法、資料型別、變數與執行流程
查看更多「[資訊處理] 計算機概要」的主題分類考古題