Materjalid koostas ja kursuse viib läbi
Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm
7.1 ValueError: could not convert string to float
Veateade ValueError: could not convert string to float viitab sellele, et Python ei võimalda teisendada sõnetüüpi väärtust ujukomaarv tüüpi väärtuseks.
Tuleb jälgida, et ujukomaarvu puhul kasutatakse Pythonis punkti.
Näide 1:
pikkus = float(input("Sisestage pikkus: ")) print("Sisestatud pikkus: " + str(pikkus))
Veateade kuvatakse, sest funktsioon float(input())
eeldab sisendiks ujukomaarvu tüüpi väärtust, kuid saab sõnetüüpi väärtuse:
>>> %Run Test.py Sisestage pikkus: 172,5 Traceback (most recent call last): File "C:\Users\Kursus\Test.py", line 1, in <module> pikkus = float(input("Sisestage pikkus: ")) ValueError: could not convert string to float: '172,5' >>>
Võimalik parandus:
Programm on tegelikult korrektne, kasutajal tuleks sisestada arv, mille eraldajaks on punkt, mitte koma.
Näide parandatud programmist:
pikkus = float(input("Sisestage pikkus (kasutage eraldajana punkti): ")) print("Sisestatud pikkus: " + str(pikkus))