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)
```
```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$ 開始,我們經歷了以下三個步驟:
▼ 還有更多解析內容