类型错误:'int'对象不可下标...?

问题描述 投票:0回答:1
  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:UsersLoadingPycharmProjectsTesttest.py",第14行,在example.check_numbers(matrix,a,b)

文件 "C:\Users\Loading\PycharmProjects\Test\venv\example.py",第30行,在check_numbers中,a[i][j]=a[i][j+1]=a[i+1][j]=pas。

类型错误:'int'对象不可下标。

object int
1个回答
0
投票

a[i][j]=a[i][j+1]=a[i+1][j]=pas 这一行。你在处理 a 作为一个数组,但你显然在代码片段之外将它定义为一个整数,因为你正在使用模数。

每当你得到错误的 object is not subscriptable 这意味着你正试图将一个对象作为一个数组来处理。

© www.soinside.com 2019 - 2024. All rights reserved.