Python 错误“int”对象不可下标
我正在学习python,你能帮我写这段代码吗 伽罗瓦场异或 代码是 我得到了这个错误Python 错误“int”对象不可下标,python,compiler-errors,galois-field,Python,Compiler Errors,Galois Field,我正在学习python,你能帮我写这段代码吗 伽罗瓦场异或 代码是 我得到了这个错误 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] =
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,所以这就是问题的原因a是整数2,那么你期望a[x][y]是什么意思呢?当你遇到这样的错误时,拆分子表达式,这样你就能得到更准确的信息。在你的第二个循环中,你有z[i][j]。变量z是在哪里定义的?你能解释一下为什么2会导致问题吗?2是一个整数,没有子数据可访问。2[x]没有意义。
filled_x = bin(x)[2:].zfill(3)
filled_y = bin(y)[2:].zfill(3)
a[x][y] = filled_x + filled_y