Datatyper

Vi har til nå møtt tre datatyper i Python, nemlig hele tall, desimaltall og tekst. I programmering er det vanlig å kalle desimaltall for flyttall og tekst for streng eller tekststreng. Det finnes flere datatyper i Python, blant annet lister og sannhetsverdier. I programmering kalles sannhetsverdiene også boolske verdier.

Kode Datatype Eksempel
str streng (tekst) 'programmering'
int heltall 1153
float flyttall (desimaltall) 2.7182818
list liste ['a', 3, 5, 1, 1, 1, 'b']
bool boolsk verdi True, False
np.array np-array array([2, 1, 4, 3])

De matematiske operatorene brukes sammen med typene int og float. Noen av dem kan også brukes med andre datatyper, men da har de en annen betydning. For eksempel betyr «+» sammensetting og «*» gjentakelse når de brukes på strenger og lister. Vi ser hvordan dette virker i konsollen:

Vi kan bruke tegnet «#» for å legge til en kommentar. Etter «#» blir resten av linja ignorert av programmet.
>>> "fem" + "ti" # tekststreng og operatoren +
'femti'

>>> 'fem' * 3 # tekststreng og operatoren *
'femfemfem'

>>> [1, 2, 3] + [4, 5, 6] # liste og operatoren +
[1, 2, 3, 4, 5, 6]

>>> [1,2,3] * 2 # liste og operatoren *
[1, 2, 3, 1, 2, 3]

Hente inn opplysninger fra brukeren

Vi kan skrive et program som ber om opplysninger fra brukeren. Da må vi bruke kommandoen «input()». For at vi skal kunne bruke informasjonen til noe, tilordner vi resultatet fra «input()» til en variabel.

Skriv et program som ber brukeren om et navn, og som deretter skriver navnet til skjermen.

Det er lurt å venne seg til å legge inn et mellomrom før siste anførselstegn i input-kommandoen. Da blir det et mellomrom før brukeren skriver inn noe.

Vi legger resultatet av input-kommandoen inn i en variabel som heter «navn». Denne variabelen skriver vi ut som en f-literal:


navn = input('Skriv inn et navn her: ')
print(f'Du skrev inn «{navn}».')

Nå kjører vi programmet. Først kommer teksten «Skriv inn et navn her:» fram i konsollen. Vi skriver inn for eksempel «Niels Henrik». Til slutt ser konsollen slik ut:

Skriv inn et navn her: Niels Henrik
Du skrev inn «Niels Henrik».

Når du skal be brukeren om et tall, må du konvertere resultatet av input-kommandoen til en datatype for tall, nemlig heltall («int») eller desimaltall («float»). Konverteringen kan du gjøre direkte, samtidig med input-kommandoen. Alle kommandoer skal ha argumentet i parenteser, så pass på at du bruker dem systematisk.

Skriv et program som ber brukeren om et tall og returnerer det dobbelte av tallet.


tall = int(input('Skriv inn et heltall: '))
dobbelt = 2*tall
print(f'Det dobbelte av {tall} er {dobbelt}.')

Når vi kjører programmet og skriver inn \(23\) underveis, får vi:

Skriv inn et heltall: 23
Det dobbelte av 23 er 46.

I eksempelet ovenfor kunne vi ha latt brukeren skrive inn et vilkårlig tall. Da bruker vi i stedet kommandoen float, og første linje i programmet ville i stedet bli

tall = float(input('Skriv inn et tall: '))

Be brukeren om fornavn og etternavn. Skriv ut en hilsen som inneholder fullt navn.

Lag en variabel der du ber om et tall fra brukeren. Konverter tallet til «float». Skriv ut til skjermen hva brukeren tastet inn.

Be om et tall fra brukeren, konverter tallet til «float» og regn ut halvparten av tallet. Skriv svaret til skjerm.

Be om et heltall fra brukeren. Regn ut hvor mange hele ganger dette tallet er større enn 5. Skriv svaret til skjerm.