Materjalid koostas ja kursuse viib läbi
Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm
6.1 TypeError: 'int' object is not subscriptable
Veateade TypeError: 'int' object is not subscriptable tekib siis, kui täisarvu tüüpi muutuja korral kasutatakse indeksit.
Tuleb jälgida, et indeksit saab kasutada järjendite ja sõnede puhul, kuid mitte täisarvu tüüpi muutujate puhul.
Näide 1:
käärikul = [401, 604, 547]
kohilas = [900, 0, 333]
tulemus = 0
if tulemus[2] > tulemus[2]:
    tulemus = käärikul[2]
else:
    tulemus = kohilas[2]
print("Parim tulemus viimasel katsel oli " + str(tulemus))
Veateade kuvatakse, sest Python ei võimalda indeksiga viidata täisarvu tüüpi muutujale:
>>> %Run Test.py
Traceback (most recent call last):
  File "C:\Users\Kursus\Test.py", line 5, in <module>
    if tulemus[2] > tulemus[2]:
TypeError: 'int' object is not subscriptable
>>> 
Võimalik parandus:
Indeksiga tuleks viidata näiteks järjendi elemendile.
Näide parandatud programmist:
käärikul = [401, 604, 547]
kohilas = [900, 0, 333]
tulemus = 0
if käärikul[2] > kohilas[2]:
    tulemus = käärikul[2]
else:
    tulemus = kohilas[2]
print("Parim tulemus viimasel katsel oli " + str(tulemus))