Python - Traceback (most recent call last)

Рейтинг: 0Ответов: 1Опубликовано: 08.02.2023

Я только начал изучать Python и первое задание было написать программу для сложения матриц NxM. Написал код, однако выдает ошибку:

Traceback (most recent call last):
  File "C:\Users\andrey\Desktop\Python\main.py", line 12, in <module>
    C[i][j] = A[i][j]+B[i][j]
IndexError: list index out of range

Пробовал изменять индексы, ничего так и не получил

n, m = int(input()), int(input())
A = []
for i in range(n):
   A.append([input() for j in range(m)])

B = []
for i in range(n):
   B.append([input() for j in range(m)])

C = []
for i in range(n):
    for j in range(m):
       C[i][j] = A[i][j]+B[i][j]
print(C)

Ответы

▲ 0

Все базовые ошибки нужно знать!

Ваша ошибка IndexError: list index out of range в переводе означает ошибка исчисления списка - требуемый элемент вне списка.

Ошибка решается элементарным дебагом,- перед строкой ошибки вызываем принт (модуль icecream) вида

print(A,i, A[i],j,A[i][j]...) #то есть вывод всех переменных и их производных
C[i][j] = A[i][j]+B[i][j]

Здесь мы вычислим непосредственную ошибку, то есть может быть, что i больше длины списка, либо j больше длины списка. Но это элементарная ошибка, её дебаг банален, причина возникновения - незнание документации, либо незнание математики. Ваша вопрос звучит как "сделайте за меня".