‘int’ object heeft geen attribuut ‘__getitem__’

het toont een runtime-fout:

File "C:\Python27\winculum.py", line 33, in coll
    self.col[i][j] = self.result
TypeError: 'int' object has no attribute '__getitem__'

Ik ben maar een beginner op het gebied van python en ik kan dit niet corrigeren, zelfs niet na zoeken op internet.


Antwoord 1, autoriteit 100%

De fout:

'int' object has no attribute '__getitem__'

betekent dat je de indexoperator []probeert toe te passen op een int, niet op een lijst. Dus is colgeen lijst, ook al zou het dat wel moeten zijn? Laten we daarmee beginnen.

Kijk hier:

col = [[0 for col in range(5)] for row in range(6)]

Gebruik een andere variabelenaam binnenin, het lijkt erop dat het lijstbegrip de variabele coltijdens iteratie overschrijft. (Niet tijdens deiteratie wanneer u colinstelt, maar tijdens de volgende.)


Antwoord 2, autoriteit 8%

Deze fout kan een indicatie zijn dat variabele met dezelfde naam eerder in uw code is gebruikt, maar voor andere doeleinden. Mogelijk heeft een variabele een naam gekregen die overeenkomt met de bestaande functie die later in de code wordt gebruikt.


Antwoord 3, autoriteit 5%

Enkele van de problemen:

for i in range[6]:
            for j in range[6]:

zou moeten zijn:

range(6)

Antwoord 4

je kunt intook eerst verbergen in stren er index aan toewijzen en het dan opnieuw converteren naar int
zoals dit:

int(str(x)[n]) //where x is an integer value

Antwoord 5

Ik had onlangs een soortgelijk probleem toen ik aan recursie en geneste lijsten werkte.
Ik heb verklaard:

print(r_sum([1,2,3[1,2,3],]))

in plaats van

print(r_sum([1,2,3,[1,2,3],]))

Let op de komma na het cijfer 3

Other episodes