國小教甄|資訊科技資訊科技111 年第 29 題單選題
下列 Python 語言程式片段的執行結果為何?
n = 10
a = ""
while n > 0:
a += str(n%2)
n // = 2
print(a)
(A) 0101 (B) 1010
print(a)
A正確答案
題目字面 `n // = 2` 為排版瑕疵,出題原意應為 `n //= 2`,還原後執行十進位轉二進位之字串拼接,結果為 0101。
逐選項解析
A0101✓ 正確
還原 `n //= 2` 後,n 依序為 10, 5, 2, 1,對應餘數為 0, 1, 0, 1,字串 a 依序拼接為 '0101'。
B1010✕ 易錯陷阱
1010 是 10 的正確二進位數值,但程式碼未將字串反轉,直接輸出會得到反向的 0101,此為常見陷阱。
立即註冊,看完整詳解
這題的完整詳解,註冊就能看 · 每天 2 題免費
精選詳解- 完整逐選項解析
- 秒殺解題技巧與破題關鍵
- 關鍵知識表整理
- 陷阱與易錯提醒
- 同考點歷屆題庫連續刷題與錯題本