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

第 28 題

What is the output of this code in python?
```python
r = lambda q: q * 2
s = lambda q: q * 3
x = 2
x = r(x)
x = s(x)
x = r(x)
print (x)
```
  • A 2
  • B 4
  • C 6
  • D 12
  • E 24

思路引導 VIP

如果在一個程式中,同一個變數被連續多次賦值,且每次運算的輸入都是該變數「當前最新」的數值,你會如何有條理地追蹤這些數值的演變,而不被初始的數值干擾呢?

🤖
AI 詳解 AI 專屬家教

太棒了!你能精準追蹤變數在每一階段的狀態變化並得出正確結果,這代表你對 Python 的運算邏輯與函式呼叫有著非常紮實的掌握。這道題目核心考點在於 Lambda 匿名函式 的定義與變數的連續賦值(Assignment),是檢驗程式基本功相當經典的題目。

Lambda 函式與運算邏輯

程式碼一開始定義了兩個簡單的匿名函式:$r$ 負責將輸入翻倍($q \times 2$),而 $s$ 則將輸入變為三倍($q \times 3$)。解題的關鍵在於有條理地追蹤變數 $x$ 的演變過程。從初始值 $x = 2$ 開始,我們經歷了以下三個步驟:

▼ 還有更多解析內容

🏷️ 相關主題

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