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:
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:
arv = int(input("Sisestage tsükli pikkus: ")) for loendur in range(arv): print(loendur)