Materjalid koostas ja kursuse viib läbi
Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm
6.11 TypeError: 'int' object is not iterable
Veateade TypeError: 'int' object is not iterable tekib siis, kui for-tsükli koostamisel kasutatakse täisarvu tüüpi muutujat tsükli pikkuse määramiseks.
Tuleb jälgida, et tsükli pikkuse määramisel kasutatakse Pythonis funtsiooni range()
, mille sisendiks antakse täisarvu tüüpi muutuja
Näide 1:
1 2 3 |
arv = int ( input ( "Sisestage tsükli pikkus: " )) for loendur in arv: print (loendur) |
Veateade kuvatakse, sest for-tsükli pikkuse määramisel on jäetud lisamata funktsioon range()
, mis suudab tsüklit korrata etteantud täisarv kordi:
>>> %Run test.py Sisestage arv: 5 Traceback (most recent call last): File "C:\Users\Kursus\Test.py", line 2, in <module> for loendur in arv: TypeError: 'int' object is not iterable
Võimalik parandus:
Pythonis on vajalik funktsiooni lisamine tsüklisammude kordamiseks.
Näide parandatud programmist:
1 2 3 |
arv = int ( input ( "Sisestage tsükli pikkus: " )) for loendur in range (arv): print (loendur) |