Datatype
Hva slags verdi noe er — heltall (int), desimaltall (float), tekst (str) eller sannhetsverdi (bool). Typen bestemmer hvilke operasjoner som gir mening. Grunnlag fra IT1.
Slik kan du tenke om det
- Typen avgjør hva som skjer Tallet 5 og teksten «5» ser like ut, men oppfører seg helt ulikt. Med tall regner + ut en sum; med tekst limer + bare sammen. Spør derfor alltid hvilken type verdien har før du regner med den — det er grunnen til at svaret fra input() må konverteres først.
Vanlige feil
- Du blander tekst og tall "5" (str) og 5 (int) ser like ut, men er ulike typer. "5" + "3" gir "53" (tekst limt sammen), mens 5 + 3 gir 8. input() gir alltid tekst, så du må konvertere med int(...) eller float(...) før du regner.
- Du blander /, // og % `/` gir alltid desimaltall i Python — `10 / 2` blir `5.0`, ikke `5`. `//` gir heltallsdelen (`7 // 2` er `3`), og `%` gir resten (`7 % 2` er `1`). Feilen dukker opp når svaret skal være et helt antall, eller når du vil teste om et tall er delelig.
- Du tror int() runder av int(7.9) gir 7, ikke 8: int() kutter bort desimalene, den runder ikke av. Vil du runde av, bruk round(7.9), som gir 8.
- Du tror desimaltall er eksakte Et float lagres binært, og mange desimaltall kan ikke lagres helt nøyaktig: 0.1 + 0.2 gir 0.30000000000000004, og 0.1 + 0.2 == 0.3 er False. Rund av med round(x, 2) eller f"{x:.2f}" når du viser svaret, og sammenlign aldri desimaltall med ==.