错误 'int' 对象不可订阅 python
error 'int' object is not subscriptable python
我正在学习 python 你能帮我写这段代码吗
对于伽罗瓦域异或
代码是
def generateGF(a,b):
for x in range(a**b-1):
for y in range(a**b-1):
a[x][y] = bin(x)[2:].zfill(3) + bin(y)[2:].zfill(3) # limited for 2^3
for i in range(a**b):
for j in range(a**b):
print(bin(z[i][j]),end=' ')
print("\n")
print (generateGF(2,3))
我收到这个错误
python lab5.py :(
Traceback (most recent call last):
File "lab5.py", line 9, in <module>
print (generateGF(2,3))
File "lab5.py", line 4, in generateGF
a[x][y] = bin(x)[2:].zfill(3) + bin(y)[2:].zfill(3) # limited for 2^3
TypeError: 'int' object is not subscriptable
问题是一行中的表达式太多,因此很难准确识别下标是哪个整数。
拆分表达式:
a[x][y] = bin(x)[2:].zfill(3) + bin(y)[2:].zfill(3)
等同于:
filled_x = bin(x)[2:].zfill(3)
filled_y = bin(y)[2:].zfill(3)
a[x][y] = filled_x + filled_y
然后你就会知道是哪个下标导致了错误。
(实际上,从技术上讲,您也可能需要拆分 a[x][y]
,但是从您的测试数据中我们可以看到 a
是 2,所以这就是导致问题的原因)
我正在学习 python 你能帮我写这段代码吗 对于伽罗瓦域异或 代码是
def generateGF(a,b):
for x in range(a**b-1):
for y in range(a**b-1):
a[x][y] = bin(x)[2:].zfill(3) + bin(y)[2:].zfill(3) # limited for 2^3
for i in range(a**b):
for j in range(a**b):
print(bin(z[i][j]),end=' ')
print("\n")
print (generateGF(2,3))
我收到这个错误
python lab5.py :(
Traceback (most recent call last):
File "lab5.py", line 9, in <module>
print (generateGF(2,3))
File "lab5.py", line 4, in generateGF
a[x][y] = bin(x)[2:].zfill(3) + bin(y)[2:].zfill(3) # limited for 2^3
TypeError: 'int' object is not subscriptable
问题是一行中的表达式太多,因此很难准确识别下标是哪个整数。
拆分表达式:
a[x][y] = bin(x)[2:].zfill(3) + bin(y)[2:].zfill(3)
等同于:
filled_x = bin(x)[2:].zfill(3)
filled_y = bin(y)[2:].zfill(3)
a[x][y] = filled_x + filled_y
然后你就会知道是哪个下标导致了错误。
(实际上,从技术上讲,您也可能需要拆分 a[x][y]
,但是从您的测试数据中我们可以看到 a
是 2,所以这就是导致问题的原因)