Programmeringskurs: 1.2 Tall i Python
Heltall og desimaltall
Se på koden nedenfor
|
|
Svaret blir desimaltallet 6.0 og ikke heltallet 6. Resultatet av en divisjon i Python vil alltid bli et desimaltall, selv om resultatet like gjerne kunne ha vært et heltall. Det samme skjer hvis du forsøker å regne med tall og et av dem er skrevet som et desimaltall.
|
|
På engelsk kaller vi heltall 'integer' og et desimaltall 'float', og Python skiller mellom disse. Vi kan styre om resultatet vårt blir det ene eller det andre. Det gjør vi ved å bruke henholdsvis koden int(tall) eller float(tall).
Dersom vi vil gjøre om heltallet 2 til et desimaltall, skriver vi float(2), og resultatet blir 2.0. Det samme gjelder dersom vi setter float() omkring et regnestykke. Skriver vi float(2*3), blir svaret 6.0.
Dersom vi skriver int(2 + 8/2) eller int(2.0 + 2), forteller vi datamaskinen at svaret skal gjøres om til et heltall. Nedenfor ser du resultatet av dette og noen flere eksempler.
|
|
Legg merke til at både int(5.2) i tredje linje og int(5.9) i fjerde linje ovenfor ga svaret 5, mens float(2) i femte linje ga svaret 2.0. Kodeordene int() og float() fungerer altså slik:
Koden int(tall) gjør om tall til et heltall. Dersom det brukes omkring et desimaltall, fjerner datamaskinen desimalene, og vi sitter igjen med heltallsdelen. Vi bruker andre teknikker for å avrunde tall.
Koden float(tall) gjør om tall til et desimaltall. Dersom det brukes omkring et heltall, legger datamaskinen til .0 i resultatet.
Regnestykket skrevet som kode blir
5 + (7-3)/2
Vi gjør om svaret på regnestykket med int(regnestykke)
int(5 + (7-3)/2)
Dermed blir hele koden
<> | Kodeeditor | |
print(int(5 + (7-3)/2)) |
Resultatet blir
7