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")