2017-02-13 4 views
0
私はあなたがガロア体のXORのため、このコード で私を助けてくださいすることができますのpythonを学んでいます

ない コードがエラー 'int型のオブジェクトは、添字化の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 
+1

'A'は'整数である2 '、あなたは '' [x] [y] 'が何を意味すると思いますか? – Barmar

+1

このようなエラーが発生すると、より正確なメッセージを得るために、サブ式を分割します。 –

+0

2番目のループには 'z [i] [j]'があります。変数 'z'はどこで定義されていますか? – Barmar

答えて

0
になって

問題は1行に多すぎる式があるため、どの整数が添字になっているのかを正確に特定することは難しいです。

は、式を分割:その後、あなたがエラーの原因となっている添字知っているよ

filled_x = bin(x)[2:].zfill(3) 
filled_y = bin(y)[2:].zfill(3) 

a[x][y] = filled_x + filled_y 

a[x][y] = bin(x)[2:].zfill(3) + bin(y)[2:].zfill(3) 

は同じです。

(実際には、技術的にはあなたにもa[x][y]を分割する必要がある可能性がありますが、あなたの試験データから、我々はそれが問題を引き起こしているものですのでaは、2で見ることができます)

+0

なぜ2で問題が発生しているのかを教えてください。 –

+0

'2'は整数です。アクセスするサブデータはありません。 '2 [x]'は意味をなさない。 –

関連する問題