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