View Single Post
Ja, float(input()) er standardmetoden, eventuelt caste det der det brukes i stedet. Dvs.:

Kode

m = input('...')
n = float(m)*2.56
Men som regel, så vil du jo lagre variabelen som en float, og dermed bare kjøre float(input()) direkte. (Evt int(input()) da)
På den måten slipper du å ha tallet ditt lagret som string og caste den hver eneste gang du skal bruke den. Bare gjør det med en gang du tar den inn, så er du ferdig med det.

Forøvrig så betyr feilmeldingen du fikk at du kan multiplisere en streng (aka sequence) med en int, men ikke en float. Du vil altså ikke få feilmelding om du multipliserer int og str, men det vil kanskje ikke gi resultatet du ser for deg. Slik går det:

Kode

>>> m = input('Tall: ')
Tall: 6
>>> m*3
'666'
>>> m*3.5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can't multiply sequence by non-int of type 'float'
Så, som du ser, du kan fint ta inn et "tall" med input, og deretter multiplisere det med en int n uten å få feilmelding, men resultatet blir bare en streng der "tallet" ditt er plassert inntil seg selv n ganger.
Altså:
'6' * 3 = '666'
'6' * 3.5 = error
Sist endret av Realist1; 2. februar 2018 kl. 18:44.