Ошибка типа: объект 'int' не может быть подписан .....? - PullRequest
0 голосов
/ 02 мая 2020
  if (a % 2 == 0 and b % 2 == 0) or (a % 2 == 0 and b % 3 == 0):
          pav=0
          pas=1
          for i in range(a):
              for j in range(b):
                  if(matrix[i][j]==0 and i+1<=a and j+1<=b):
                      if(matrix[i][j+1]==0 and matrix[i+1][j]==0):
                          a[i][j]=a[i][j+1]=a[i+1][j]=pas
                          pas+=1
                          pav+=1
                  if matrix[i+1][j+2]==0:
                      if(matrix[i][j+2]==0 and matrix[i+1][j+1]==0):
                         matrix[i+1][j+2]=matrix[i][j+2]=matrix[i+1][j+1]=pas
                         pas+=1
                         pav+=1

Трассировка (последний последний вызов):

Файл "C: / Users / Загрузка / PycharmProjects / Test / test.py", строка 14, в example.check_numbers (matrix, a, b)

Файл "C: \ Users \ Загрузка \ PycharmProjects \ Test \ venv \ example.py", строка 30, в контрольных номерах a [i] [j] = a [i] [ j + 1] = a [i + 1] [j] = pas

TypeError: объект 'int' не может быть подписан

1 Ответ

0 голосов
/ 02 мая 2020

a[i][j]=a[i][j+1]=a[i+1][j]=pas Эта строка. Вы трактуете a как массив, и все же вы четко определили его как целое число вне фрагмента кода, так как вы используете модуль с ним.

Всякий раз, когда вы получаете ошибку object is not subscriptable, это означает, что вы пытаемся обработать объект как массив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...