TQC+ 程式語言Python 601 偶數索引值加總
題目說明:
請撰寫一程式,利用一維串列存放使用者輸入的12個正整數(範圍1~99)。顯示這些數字,接著將串列索引為偶數的數字相加並輸出結果。
提示:輸出每一個數字欄寬設定為3,每3個一列,靠右對齊。
範例輸入
56
45
43
22
3
1
39
20
93
18
44
83
範例輸出
56 45 43
22 3 1
39 20 93
18 44 83
278
程式碼:
Sum = 0
List = []
for i in range(12):
List.append(eval(input()))
if i % 2 == 0:
Sum += List[i]
for j in range(4):
print('%3d%3d%3d' %(List[j * 3], List[j * 3 + 1], List[j * 3 + 2]))
print(Sum)
3 則留言
自動引用通知:
oo
請問可以解釋一下這段程式碼嗎
for j in range(4):
print(‘%3d%3d%3d’ %(List[j * 3], List[j * 3 + 1], List[j * 3 + 2]))
JamesBang
輸出範例固定為四列,所以迴圈直接跑四次,而 j 的值會從 0 開始到 3。
因題目有要求「輸出每一個數字欄寬設定為3,每3個一列,靠右對齊。」,所以使用格式化字串,用法跟我之前講的一樣。
然後要把 List 裡的 12 個值全部印出來、一列三個值,所以我用「List[j * 3], List[j * 3 + 1], List[j * 3 + 2]」
自行將 j 的值帶進去算就能發現,
迴圈第一次執行時會印出「List[0], List[1], List[2]」
第二次會印出「List[3], List[4], List[5]」
第三次會印出「List[6], List[7], List[8]」
第次次會印出「List[9], List[10], List[11]」
這樣 List 的值就全印出來啦