Materjalid koostas ja kursuse viib läbi
Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm
6.5 TypeError: can't multiply sequence by non-int of type 'float'
Veateade TypeError: can't multiply sequence by non-int of type 'float' tekib siis, kui üritatakse Pythonis omavahel korrutada sõne/järjendit ja ujukomaarvu.
Tuleb jälgida, et Pythonis on võimalik korrutada sõne ja täisarvu.
Näide 1:
1 2 3 |
kaugus = input ( "Sisestage kaugus televiisorini (meetrites): " ) print ( "Televiisori diagonaal peaks olema " + str ( round (kaugus * 100 * 0.39 / 2.5 )) + " tolli" ) |
Veateade kuvatakse, sest sisend on sõnetüüpi muutuja ja korrutatav tehte liige ujukomaarvu tüüpi muutuja:
>>> %Run Test.py Sisestage kaugus televiisorini (meetrites): 3 Traceback (most recent call last): File "C:\Users\Kursus\Test.py", line 3, in <module> print("Televiisori diagonaal peaks olema " + str(round(kaugus * 100 * 0.39 / 2.5)) + " tolli") TypeError: can't multiply sequence by non-int of type 'float' >>>
Võimalik parandus:
Muutuja kaugus
tuleks teisendada täisarvu tüüpi väärtuseks.
Näide parandatud programmist:
1 2 3 |
kaugus = int ( input ( "Sisestage kaugus televiisorini (meetrites): " )) print ( "Televiisori diagonaal peaks olema " + str ( round (kaugus * 100 * 0.39 / 2.5 )) + " tolli" ) |