前提・実現したいこと
n×m行列を入力し、各行と列の合計を挿入した新しい表を出力するプログラムを作成しています。
発生している問題・エラーメッセージ
各行と列の合計を求めて挿入する段階で下記のエラーが起きてしまいます。
IndexError Traceback (most recent call last) <ipython-input-7-67709c5dbd4f> in <module>() 16 for i in range(n): 17 for j in range(m): ---> 18 A[i][m+1] += A[i][j] 19 20 for j in range(m+1): IndexError: list index out of range
該当のソースコード
python3
1n, m = map(int, input().split()) 2 3A = [[0]*(m+1) for i in range(n+1)] 4 5for i in range(n): 6 B = list(map(int, input().split())) 7 for j in range(m): 8 A[i][j] = B[j] 9 10for i in range(n): 11 for j in range(m): 12 A[i][m+1] += A[i][j] 13 14for j in range(m+1): 15 for i in range(n): 16 A[n+1][j] += A[i][j] 17 18for i in range(n+1): 19 print(A[i][0], end='') 20 for j in range(1, m+1): 21 print(' %d'%A[i][j], end='') 22 print()
試したこと
最初の入力段階で直接行列Aに入力してしまうと行数が書き換えられてしまうとのことだったので新たに行列Bを作成し、そちらに入力してから行列Aに代入しなおす仕組みに書き換えてみたのですが、それでも行数が書き換えられてしまっているようでうまく出力が行えません。
補足情報(FW/ツールのバージョンなど)
python 3.6.2
ここにより詳細な情報を記載してください。
3*4くらいの小さい行列の入力例、それを入力した際に期待される出力を教えてください。
回答ありがとうございます
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_7_C&lang=jp
こちらの問題にある入力例と出力例になります。

回答1件
あなたの回答
tips
プレビュー