前提
図のような、【行によって長さが違う二次元配列の表示】すべての行の長さと値が不定な 2 次元配列の出力を実装する問題を解いています。
実現したいこと
以下のエラーが出てしまいます。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "Main.py", line 15, in <module> sum += int(B[counter]) IndexError: list index out of range
該当のソースコード
Python3
1init = input().split(" ") 2N = int(init[0]) 3M = int(init[1]) 4A = input().split(" ") 5B = input().split(" ") 6counter = 0 7sum = int(B[counter]) - 1 8for i in range(N): 9 if i == sum: 10 print(A[i]) 11 counter += 1 12 sum += int(B[counter])✨ここでエラー 13 else: 14 print(A[i], end=" ")
試したこと
このエラーは、Bのインデックスが3までなのにそれ以上の範囲を指定してしまっていることが原因と認識しました。そこで、counterの値を再度チェックしました。しかし、ここでBのインデックスが3を超えることはないように思われます。
補足情報(FW/ツールのバージョンなど)
今はpaizaの環境でテストしています。この環境の違いが原因でしょうか?
よろしくお願いいたします。
エラーの出力は、最後の行だけでなく、Traceback...などのある始めのところから全て貼ってください。 問題の発生箇所の情報などが載っています。(自分でも読むことをお勧めします)
> init = input().split(" ")
> A = input().split(" ")
> B = input().split(" ")
上記で入力した値は何でしょうか?
エラーの画像変更しました。
meg_様、
画像のA, Bと同じになります。
> 画像のA, Bと同じになります。
init についてはどうなっていますか?
出来れば画像ではなくテキストで表示していただきますとコピー出来るので良いです。(ソースコードにコメントの形で入れていただけると分かりやすいかと思います)

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