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:
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:
kaugus = int(input("Sisestage kaugus televiisorini (meetrites): ")) print("Televiisori diagonaal peaks olema " + str(round(kaugus * 100 * 0.39 / 2.5)) + " tolli")