民國110年 地方四等 電子工程 計算機概要
第30題
執行下列Python 程式後,產生的輸出為何?def unknown(input, p1, p2):input[p1], input[p2] = input[p…
題目
執行下列Python 程式後,產生的輸出為何?def unknown(input, p1, p2):input[p1], input[p2] = input[p2], input[p1]return inputinput = [10, 20, 30]print(unknown(input, 0, 1)) A. 10 20 B. 20 30 C. [10, 20, 30] D. [20, 10, 30]
官方答案
- 答案:D. [20, 10, 30]
解析
Python 的 a, b = b, a 會先建立右邊的元組 (input[1], input[0]) 再依序指派,因此是「同時交換」而非先後覆寫。input 初始為 [10,20,30],交換索引 0 與 1 後變成 [20,10,30],函式回傳同一串列物件,print 印出串列格式(含中括號與逗號)。選項 A、B 是省略括號的錯誤格式,C 則是誤以為函式內操作不影響外部;實際上串列為可變物件,會就地修改。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。
官方資料
答案以考選部公告之測驗式試題標準答案 PDF 為準。