Variabler i Python
En variabel er et navn vi bruker for å lagre noe i et program. Det kan være et tall, en tekst eller et svar som brukeren skriver inn.
Hva er en variabel?
En variabel kan sammenlignes med en liten boks. Boksen har et navn, og inni boksen ligger det en verdi.
I Python lager vi en variabel ved å skrive navnet på variabelen, et likhetstegn og verdien den skal få.
navn = "Amina"
alder = 13
Her får variabelen navn verdien "Amina". Variabelen alder får verdien 13.
I Python betyr = at en variabel får en verdi. Det betyr ikke det samme som likhetstegnet i matematikk.
Skrive ut variabler
Vi kan bruke print() for å skrive verdien til en variabel på skjermen.
navn = "Amina"
print(navn)
Amina
Legg merke til forskjellen på disse to linjene:
print("navn")
print(navn)
"navn" med anførselstegn er vanlig tekst. navn uten anførselstegn er variabelen.
Tekst og variabler sammen
Ofte vil vi skrive både tekst og verdien til en variabel. Da kan vi bruke komma i print().
navn = "Amina"
alder = 13
print("Hei", navn)
print("Du er", alder, "år gammel")
Hei Amina Du er 13 år gammel
Komma lager automatisk et mellomrom mellom delene som skrives ut.
Variabler kan endre verdi
En variabel kan få en ny verdi senere i programmet. Da “glemmer” Python den gamle verdien.
poeng = 0
print("Poeng:", poeng)
poeng = 5
print("Poeng:", poeng)
Poeng: 0 Poeng: 5
Vi kan også bruke den gamle verdien når vi lager en ny verdi.
poeng = 0
poeng = poeng + 1
print("Poeng:", poeng)
Linjen poeng = poeng + 1 betyr: Finn den gamle verdien til poeng, legg til 1, og lagre svaret som ny verdi.
Regning med variabler
Når variabler inneholder tall, kan vi bruke dem i regnestykker.
| Regning | Skrives i Python | Eksempel |
|---|---|---|
| Addisjon | + |
5 + 2 |
| Subtraksjon | - |
5 - 2 |
| Multiplikasjon | * |
5 * 2 |
| Divisjon | / |
5 / 2 |
pris = 25
antall = 3
sum = pris * antall
print("Du må betale", sum, "kr")
Du må betale 75 kr
Datatyper: tekst, heltall og desimaltall
En variabel kan inneholde ulike typer verdier. Dette kalles datatyper.
navn = "Amina" # tekst
alder = 13 # heltall
hoyde = 1.62 # desimaltall
I Python skriver vi desimaltall med punktum: 1.62. Ikke med komma: 1,62.
Input: verdier fra brukeren
Med input() kan programmet spørre brukeren om noe. Svaret lagres i en variabel.
navn = input("Hva heter du? ")
print("Hei", navn)
Her får variabelen navn verdien som brukeren skriver inn.
Når vi skal regne med input
Det brukeren skriver inn med input(), blir først behandlet som tekst. Hvis vi skal regne med svaret, må vi gjøre det om til tall.
Heltall
alder = int(input("Hvor gammel er du? "))
Bruk int() når svaret skal være et heltall.
Desimaltall
vekt = float(input("Hva veier eplet? "))
Bruk float() når svaret kan være et desimaltall.
Et lite kalkulatorprogram
Nå kan vi kombinere variabler, input og regning.
tall1 = float(input("Skriv det første tallet: "))
tall2 = float(input("Skriv det andre tallet: "))
sum = tall1 + tall2
print("Summen er", sum)
Programmet gjør dette steg for steg:
Ber brukeren skrive inn det første tallet.
Ber brukeren skrive inn det andre tallet.
Legger tallene sammen og lagrer svaret i variabelen sum.
Skriver svaret til skjermen.
Gode variabelnavn
Variabelnavn bør gjøre koden lett å forstå. Det er bedre å skrive pris enn bare p, hvis variabelen handler om pris.
| Regel | Greit eksempel | Ikke gjør dette |
|---|---|---|
| Bruk navn som forklarer innholdet | antall_epler |
x når x egentlig betyr antall epler |
| Ikke bruk mellomrom | favoritt_fag |
favoritt fag |
| Start med bokstav | tall1 |
1tall |
| Vær konsekvent med små og store bokstaver | navn |
Navn og navn blandet sammen |
Kort oppsummert
En variabel er et navn som lagrer en verdi.
= betyr at variabelen får en verdi.
Tekst må stå i anførselstegn, for eksempel "Hei".
Heltall kalles int, desimaltall kalles float, og tekst kalles str.
Når vi skal regne med svar fra input(), må vi ofte bruke int() eller float().
Prøv selv
Nå skal du lage små programmer der variabler brukes til å lagre tekst, tall og svar fra brukeren. Tenk først: Hva skal variabelen hete, og hva skal den inneholde?
int() for heltall
Bruk float() for desimaltall
Planlegg variablene
Før du skriver koden, kan du lage en liten oversikt over hvilke variabler du trenger. Det gjør programmet enklere å forstå.
Velg nivå
Start på nivå 1. Gå videre når programmet ditt virker og du kan forklare hva variablene gjør.
Nivå 1: Tekstvariabler
Du skal lagre tekst i variabler og skrive dem ut i setninger.
Nivå 2: Tallvariabler
Du skal bruke tallvariabler til å regne ut en konkret pris.
Nivå 3: Input og regning
Du skal hente verdier fra brukeren og bruke dem i et program.
Tekstvariabler
Her skal variablene inneholde tekst. Husk at tekstverdier må stå i anførselstegn.
Min profil
Lag et program som lagrer tre tekstverdier i variabler: navn, favorittfag og favorittaktivitet. Programmet skal skrive ut en liten presentasjon med alle tre verdiene.
navn = "Ida"
favorittfag = "matematikk"
favorittaktivitet = "fotball"
print("Hei! Jeg heter", navn)
print("Favorittfaget mitt er", favorittfag)
print("På fritiden liker jeg", favorittaktivitet)
Tallvariabler
Nå skal du bruke variabler som inneholder tall. Variablene skal hjelpe deg å regne ut en pris på en ryddig måte.
Kioskregning
Lag et program som regner ut hvor mye du må betale i kiosken.
- Du kjøper 2 boller. Én bolle koster 18 kr.
- Du kjøper 1 juice. Én juice koster 25 kr.
- Lag variabler for antall og pris.
- Regn ut totalprisen og skriv den til skjermen.
antall_boller = 2
pris_bolle = 18
antall_juice = 1
pris_juice = 25
sum_boller = antall_boller * pris_bolle
sum_juice = antall_juice * pris_juice
totalpris = sum_boller + sum_juice
print("Bollene koster", sum_boller, "kr")
print("Juicen koster", sum_juice, "kr")
print("Du må betale", totalpris, "kr")
Input og regning
Her skal brukeren skrive inn tall. Da må du passe på å gjøre om svaret fra input() til riktig datatype.
Prisregner
Lag et program som spør hvor mange varer brukeren kjøper og hva én vare koster. Programmet skal regne ut totalprisen og skrive svaret til skjermen.
- Antall varer bør være et heltall.
- Pris per vare bør kunne være et desimaltall.
- Totalprisen skal lagres i en egen variabel før den skrives ut.
antall = int(input("Hvor mange varer kjøper du? "))
pris_per_vare = float(input("Hva koster én vare? "))
totalpris = antall * pris_per_vare
print("Du kjøper", antall, "varer")
print("Totalprisen blir", totalpris, "kr")
Lag en pizzakalkulator
Lag et program som regner ut hvor mye en pizzakveld koster totalt og hvor mye hver person må betale.
Krav til programmet
- Spør hvor mange personer som skal dele regningen.
- Spør hvor mange pizzaer dere kjøper.
- Spør hva én pizza koster.
- Spør hvor mye drikke koster til sammen.
- Regn ut totalprisen.
- Regn ut pris per person.
- Skriv ut en ryddig oppsummering.
personer = int(input("Hvor mange personer skal dele regningen? "))
antall_pizza = int(input("Hvor mange pizzaer kjøper dere? "))
pris_pizza = float(input("Hva koster én pizza? "))
drikke = float(input("Hvor mye koster drikke til sammen? "))
pizza_sum = antall_pizza * pris_pizza
totalpris = pizza_sum + drikke
pris_per_person = totalpris / personer
print("----- Oppsummering -----")
print("Antall personer:", personer)
print("Pizza koster til sammen:", pizza_sum, "kr")
print("Drikke koster:", drikke, "kr")
print("Totalpris:", totalpris, "kr")
print("Pris per person:", pris_per_person, "kr")
Når programmet ikke virker, sjekk først variabelnavnene dine. pris og Pris er to ulike variabler i Python.