2-я матрица, вторая диагональ. индекс списка вне диапазона python - PullRequest
0 голосов
/ 29 февраля 2020

Я пытаюсь получить вторую диагональ в матрице. Например:

123
456
789

Я хочу получить 357 и сложить их

 for l in range(len(arr)):
        z+=arr[l][len(arr)-l]

 #arr is the matrix

Я получаю сообщение об ошибке: индекс списка вне диапазона

1 Ответ

0 голосов
/ 29 февраля 2020

Это потому, что когда вы делаете for l in range(len(arr)):
, l начинается с 0. Таким образом, в первом l oop, arr[l][len(arr)-l] на самом деле arr[0][3], что не соответствует индексу, поскольку максимальный индекс равен arr[2][2].
Вы должны изменить его на

 for l in range(len(arr)):
        z+=arr[l][len(arr)-1-l]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...