@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)
  • Вопрос задан
  • 85 просмотров
Решения вопроса 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))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы