Programmeringskurs: 1.2 Tall i Python

Teori Heltall og desimaltall

Se på koden nedenfor

<> Kodeeditor
print(2 + 8/2)
Resultat:
6.0

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.

<> Kodeeditor
print(2.0 + 2)
Resultat:
4.0

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.

<> Kodeeditor
print(int(2 + 8/2))
print(int(2.0 + 2))
print(int(5.2))
print(int(5.9))
print(float(2))
Resultat:
6
4
5
5
2.0

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.

  1. 1
  2. 1

Lag en kode som regner ut svarene på regnestykket nedenfor. Programmet skal skrive ut svaret etter at det er gjort om til et heltall.

#5+\frac{7-3}{2}#

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
Nytt eksempel

Cappelen Damm Kontakt: cda-matematikk@cappelendamm.no | Hva er Student? | Personvernerklæring | Rettigheter