國中教甄|資訊科技資訊科技114 年第 35 題單選題
請問以下 python 語言程式碼的執行結果為何?
def f(lst):
if not lst:
return 0
return lst[0] + f(lst[2:])
print(f([1,2,3,4]))
A正確答案
透過追蹤遞迴函式的執行過程,將串列中索引為偶數的元素相加,最終結果為4。
逐選項解析
A4✓ 正確
第一次呼叫 f([1,2,3,4]) 取 lst[0]=1,加上 f([3,4]);第二次呼叫 f([3,4]) 取 lst[0]=3,加上 f([]);第三次呼叫 f([]) 返回 0。總和為 1+3+0=4。
B6✕ 易錯陷阱
若誤解切片方向,取用索引 1 與 3 的元素 (2+4),則會得出 6。
立即註冊,看完整詳解
這題的完整詳解,註冊就能看 · 每天 2 題免費
精選詳解- 完整逐選項解析
- 秒殺解題技巧與破題關鍵
- 關鍵知識表整理
- 陷阱與易錯提醒
- 同考點歷屆題庫連續刷題與錯題本