Materjalid koostas ja kursuse viib läbi
Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm
6.2 TypeError: 'list' object is not callable
Üldine:
Veateade TypeError: 'list' object is not callable tekib siis, kui järjendi elementi üritatakse väärtustada keelekonstruktsiooniliselt valesti.
Tuleb jälgida, et järjendite puhul kasutatakse indeksiga elementide otsimisel nurksulge, mitte ümarsulge.
Näide 1:
1 2 3 4 5 6 7 |
tooted = input ( "Sisestage tooted: " ).split( ',' ) toode = int ( input ( "Valige toote järjekorra number: " )) if 0 < toode < = len (tooted): print (tooted(toode - 1 )) else : print ( "Tooteid pole piisavalt!" ) |
Veateade kuvatakse, sest järjendi elemendi otsimisel kasutatakse ümarsulge:
>>> %Run Test.py Sisestage tooted: leib, sai, piim Valige toote järjekorra number: 2 Traceback (most recent call last): File "C:\Users\Kursus\Test.py", line 5, in <module> print(tooted(toode - 1)) TypeError: 'list' object is not callable >>>
Võimalik parandus:
Järjendi elemendi otimisel tuleks kasutada nurksulge.
Näide parandatud programmist:
1 2 3 4 5 6 7 |
tooted = input ( "Sisestage tooted: " ).split( ',' ) toode = int ( input ( "Valige toote järjekorra number: " )) if 0 < toode < = len (tooted): print (tooted[toode - 1 ]) else : print ( "Tooteid pole piisavalt!" ) |