@Anomaly_Phoenix

Выдает ошибку IndexError: list index out of range. В чем дело?

matrix = []
import random
m,n = int(input()),int(input())
for i in range(m):
for j in range(n):
print(i,j)
matrix[i][j] = random.randint(1,9)
print()
print(matrix)
  • Вопрос задан
  • 29 просмотров
Решения вопроса 1
wataru
@wataru
Разработчик на С++, гуглер, экс-олимпиадник.
matrix - у вас пустой список, а вы пытаетесь в [i,j]-ую ячейку что-то записать. Ошибка о том и говорит, что идет обращение по недопустимому индексу.

Вы после ввода m, n сделайте вот это:
matrix = [[0 for x in range(n)] for y in range(m)]

А уже потом ваши 2 цикла с генерацией делайте.

Ну или в циклах добавляйте в matrix новые элементы:
matrix = []
for i in range(m):
  matrix.append([])
  for j in range(n):
    matrix[i].append(random.randint(1,9))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы