Materjalid koostas ja kursuse viib läbi
Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm
5.8 SyntaxError: unexpected indent
Veateade SyntaxError: unexpected indent tekib siis, kui Pythoni programmis on teatud kohtades ebaühtlase pikkusega taane. Taanet vajavad need read, millele eelnev rida lõpeb kooloniga. Levinumad on Pythonis tingimuslaused, tsüklid ja funktsioonid.
Tuleb jälgida, et tingimuslause sees kasutatakse igal real sama pikkusega taanet.
Näide 1:
import re print("Sisestage isikukood: ") isikukood = int(input()) if re.match("^[1-6][0-9]{10}$", str(isikukood)): print("sobib") print("korrektne") else: print("ei sobi")
Veateade kuvatakse, sest print
käskude puhul ei ole kasutatud ühtlast taanet:
>>> %Run Test.py File "C:\Users\Kursus\Test.py", line 8 print("korrektne") ^ SyntaxError: unexpected indent >>>
Võimalik parandus:
print
käsud tuleks asendada ühtlase taandega.
Näide parandatud programmist:
import re print("Sisestage isikukood: ") isikukood = int(input()) if re.match("^[1-6][0-9]{10}$", str(isikukood)): print("sobib") print("korrektne") else: print("ei sobi")
Tuleb jälgida, et tsüklit alustav rida kasutaks üleliigset taanet, samuti peab tsükli sees kasutama ühtlast taanet.
Näide 2:
i = 10 while i > 0: print(i) i = i - 1
Veateade kuvatakse, sest while
-tsükkel ei pea algama taandega:
>>> %Run Test.py File "C:\Users\Kursus\Test.py", line 2 while i > 0: ^ SyntaxError: unexpected indent >>>
Võimalik parandus:
while
-tsükli rea algusest tuleks eemaldada taane.
Näide parandatud programmist:
i = 10 while i > 0: print(i) i = i - 1