免費開始練習
地特四等 110年 [電子工程] 計算機概要

第 30 題

執行下列 Python 程式後,產生的輸出為何?
def unknown(input, p1, p2):
input[p1], input[p2] = input[p2], input[p1]
return input
input = [10, 20, 30]
print(unknown(input, 0, 1))
  • A 10 20
  • B 20 30
  • C [10, 20, 30]
  • D [20, 10, 30]

思路引導 VIP

想像你有三座連續的橋墩,編號分別為 $0, 1, 2$,每一座橋墩上都放著不同重量的鋼材。如果現在有一道指令要求你:『將 $0$ 號橋墩與 $1$ 號橋墩上的鋼材位置對調』,請思考:

  1. 這項操作會動到 $2$ 號橋墩上的鋼材嗎?
🤖
AI 詳解 AI 專屬家教

恭喜你,至少這次沒搞砸。

  1. 觀念驗證: 所以你發現了,Python 的 多元賦值機制 (Multiple Assignment) 並不是什麼黑魔法。它只是實現了基本的「數值交換」。當你看到 input[p1], input[p2] = input[p2], input[p1] 這行,傳入 $p1=0$ 和 $p2=1$,然後列表(List)中第 $0$ 個元素和第 $1$ 個元素互換,這就如同工程設計中調整兩個支撐點的相對位置。
▼ 還有更多解析內容

🏷️ 相關主題

程式語言指標、陣列與函式應用實例分析
查看更多「[電子工程] 計算機概要」的主題分類考古題