a015: 矩陣的翻轉
這篇教學會示範 ZeroJudge 基礎題庫「a015: 矩陣的翻轉」的解題過程。
題目需求
題目會先提供兩個正整數,分別代表矩陣的列 ( row,垂直 ) 和行 ( column,水平 ),接著會出現對應的矩陣,收到完整的矩陣內容後,再將行與列對掉成為結果並輸出。
題目連結:a015: 矩陣的翻轉
解答
因為要進行矩陣 row 和 column 的對調,所以先建立一個空的串列 output,接著根據原本串列 column 的多寡,讓 output 具有同樣的 row,最後只要將原本串列 column 的項目,依序放入 output 的 row 中即可。
while True:
try:
row, column = map(int, input().split(' ')) # 取得輸入數字的 row 和 column
output = [] # 設定輸出的串列
for i in range(column):
output.append([])
# 先根據一個 row 裡幾個 column,讓 output 產生對應數量的 row ( 因為對調 ),
# 並設定每個 row 的內容都是空串列
for i in range(row):
a = [int(j) for j in input().split(' ')] # 取出每一個 row 裡 column 的內容為串列
for k in range(len(a)):
output[k].append(a[k])
# 將每個 column 的內容,依序放到 output 的每個 row 的串列中
for i in output:
for j in range(len(i)):
print(i[j], end=' ') # 依序將 output 的內容輸出
print()
except:
break
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~