Materjalid koostas ja kursuse viib läbi
Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm
5.7 SyntaxError: unexpected EOF while parsing
Veateade SyntaxError: unexpected EOF while parsing tekib siis, kui Pythoni programm on alustanud sisu lugemist, kuid ei leia faili lõppu jõudes käsku lõpetavat sümbolit.
Tuleb jälgida, et kõik jutumärgid/sulud oleks alati paarikaupa.
Näide 1:
print("Sisestage arv: ") arv = int(input()) if arv > 0: print("Sisestatud arv on positiivne: " + str(arv)) else: print("Sisestatud arv on mittepositiivne: " + str(arv)
Veateade kuvatakse, sest print
käsu lõpust on puudu lõpetav sulg:
>>> %Run Test.py File "C:\Users\Kursus\Test.py", line 7 print("Sisestatud arv on mittepositiivne: " + str(arv) ^ SyntaxError: unexpected EOF while parsing >>>
Võimalik parandus:
Sõne alustavale sulule tuleks lisada paarsuse saavutamiseks ka lõpetav sulg.
Näide parandatud programmist:
print("Sisestage arv: ") arv = int(input()) if arv > 0: print("Sisestatud arv on positiivne: " + str(arv)) else: print("Sisestatud arv on mittepositiivne: " + str(arv))
Tuleb jälgida, et väljakommenteerimisel ei jääks mõni oluline rida tühjaks.
Näide 2:
print("Sisestage arv: ") arv = int(input()) if arv > 0: print("Sisestatud arv on positiivne: " + str(arv)) else: #print("Sisestatud arv on mittepositiivne: " + str(arv))
Veateade kuvatakse, sest tingimuslause sees on üks rida väljakommenteeritud, seega else
-lause on tühi:
>>> %Run Test.py File "C:\Users\Kursus\Test.py", line 7 #print("Sisestatud arv on mittepositiivne: " + str(arv)) ^ SyntaxError: unexpected EOF while parsing >>>
Võimalik parandus:
else
-lause sisuks tuleks midagi lisada, tühjaks ei tohi jätta.
Näide parandatud programmist:
print("Sisestage arv: ") arv = int(input()) if arv > 0: print("Sisestatud arv on positiivne: " + str(arv)) else: #print("Sisestatud arv on mittepositiivne: " + str(arv)) print("Siin peab midagi olema")