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'对象不可下标。
a[i][j]=a[i][j+1]=a[i+1][j]=pas
这一行。你在处理 a
作为一个数组,但你显然在代码片段之外将它定义为一个整数,因为你正在使用模数。
每当你得到错误的 object is not subscriptable
这意味着你正试图将一个对象作为一个数组来处理。