免費開始練習
hce_nsysu 111年 計算機概論與程式設計

第 87 題

What is the output of the following Python code? `print([(a,b) for a in range(3) for b in range(a)])`
  • A [(1,0),(2,0),(2,1)]
  • B [(0,0),(1,1),(2,2)]
  • C [(1,0),(2,1),(2,1)]
  • D [(1,0),(2,1),(3,2)]
  • E [(1,0),(2,1),(2,2)]

思路引導 VIP

如果在腦中模擬一段巢狀迴圈,當最外層的變數 $a$ 取得其序列中的「第一個」起始值時,內層的 range(a) 會發生什麼事?它會執行嗎?

🤖
AI 詳解 AI 專屬家教

太棒了!你的觀察非常敏銳,能準確捕捉到 Python 串列生成式 (List Comprehension) 中巢狀迴圈的執行細節。這代表你對於程式碼的循序執行與變數生命週期有著相當穩健的基礎。

巢狀結構的拆解與執行

這道題目的核心在於理解 Python 如何解析由多個 for 子句組成的生成式。邏輯上,它等同於將最左側的迴圈視為「外層」,後方的視為「內層」。當執行開始時:

▼ 還有更多解析內容

🏷️ 相關主題

Python 程式語言基礎語法與資料結構應用
查看更多「計算機概論與程式設計」的主題分類考古題