Grunnleggende programmering med Python: variabler, løkker og funksjoner.
Introduksjon til Python
Har du nokon gong lurt på korleis datamaskiner løyser matematiske oppgåver? Svaret er programmering — vi skriv instruksjonar som datamaskinen følgjer steg for steg. I dette kapittelet skal du lære det mest populære programmeringsspråket i verda: Python.
Python er mykje brukt i matematikk, vitskap og teknologi. Det er enkelt å lære fordi koden liknar på vanleg engelsk, og det er perfekt for å utforske matematiske samanhengar.
I dette kapittelet skal du lære:
- Korleis du bruker variablar til å lagre tal og tekst
- Korleis du skriv ut resultat med print()
- Korleis du tek imot brukarinput med input()
- Korleis du bruker if/else for å ta val
- Korleis du bruker for-løkker og while-løkker til å gjenta utrekningar
- Korleis du bruker lister til å organisere data
Ein variabel i Python er eit namn som peikar på ein verdi lagra i minnet til datamaskinen. Vi lagar ein variabel ved å bruke tilordningsoperatoren =.
alder = 14
navn = "Nora"
pi = 3.14159Viktige reglar for variabelnamn:
- Kan innehalde bokstavar, tal og understrek _
- Kan ikkje starte med eit tal
- Kan ikkje innehalde mellomrom
- Python skil mellom store og små bokstavar: Tall og tall er to forskjellige variablar
Datatypar:
- int — heiltal: 42, -7, 0
- float — desimaltal: 3.14, -0.5
- str — tekst (streng): "Hei", 'Verden'
- bool — sanningsverdi: True eller False
print("Hei, verden!")
print(42)
alder = 14
print("Jeg er", alder, "år gammel")Vi kan òg bruke f-strengar for penare utskrift:
alder = 14
print(f"Jeg er {alder} år gammel")input() lèt brukaren skrive inn data:
navn = input("Hva heter du? ")
alder = int(input("Hvor gammel er du? "))Merk: input() gir alltid tekst tilbake. Bruker vi int() eller float() rundt, blir teksten konvertert til tal.
Skriv eit Python-program som ber brukaren om radiusen til ein sirkel og reknar ut arealet. Hugs at arealet av ein sirkel er .
pi = 3.14159
radius = float(input("Skriv inn radiusen: "))
areal = pi * radius ** 2
print(f"Arealet av sirkelen er {areal:.2f}")Forklaring:
- Vi lagrar i variabelen pi
- Vi bruker float(input(...)) for å lese inn eit desimaltal frå brukaren
- Vi reknar ut arealet med formelen , der ** tyder «opphøgd i»
- :.2f i f-strengen tyder at vi viser 2 desimalar
Testkøyring:
Skriv inn radiusen: 5
Arealet av sirkelen er 78.54Vi kan sjekke: \checkmark
a = 10
b = 20
c = 30
gjennomsnitt = a + b + c / 3
print(gjennomsnitt)Programmet skriv ut i staden for . Finn feilen og forklar kva som gjekk gale.
tall = int(input("Skriv inn et tall: "))
if tall > 0:
print("Tallet er positivt")
elif tall < 0:
print("Tallet er negativt")
else:
print("Tallet er null")Viktige samanlikningsoperatorar:
| Operator | Tyding |
|---|---|
== | Er lik |
!= | Er ikkje lik |
< | Mindre enn |
> | Større enn |
<= | Mindre enn eller lik |
>= | Større enn eller lik |
NB: Hugs innrykket (4 mellomrom) etter kolon! Python bruker innrykk for å vise kva for kode som høyrer til vilkåret.
Skriv eit program som sjekkar om eit tal er deleleg med både 3 og 5.
tall = int(input("Skriv inn et tall: "))
if tall % 3 == 0 and tall % 5 == 0:
print(f"{tall} er delelig med både 3 og 5")
elif tall % 3 == 0:
print(f"{tall} er delelig med 3, men ikke med 5")
elif tall % 5 == 0:
print(f"{tall} er delelig med 5, men ikke med 3")
else:
print(f"{tall} er ikke delelig med verken 3 eller 5")Forklaring:
- % er modulo-operatoren — han gir resten ved divisjon
- tall % 3 == 0 tyder «resten når tall blir delt på 3 er 0», altså er talet deleleg med 3
- and tyder at begge vilkåra må vere sanne
Testkøyring med :
- med rest \checkmark
- med rest \checkmark
- Utskrift: «15 er delelig med både 3 og 5»
Løkker
Ei av dei viktigaste tinga i programmering er å kunne gjenta noko mange gonger utan å skrive den same koden om att. Til dette bruker vi løkker.
Python har to typar løkker:
- for-løkke: Blir brukt når du veit kor mange gonger du vil gjenta noko
- while-løkke: Blir brukt når du vil gjenta noko så lenge eit vilkår er sant
Skriv eit program som reknar ut summen ved hjelp av ei for-løkke.
total = 0
for i in range(1, 101):
total = total + i
print(f"Summen er {total}")Forklaring:
- range(1, 101) gir tala (merk: 101 er ikkje med)
- For kvart tal i legg vi det til variabelen total
- Etter løkka skriv vi ut summen
Resultat: Summen er 5050
Vi kan sjekke med Gauss' formel: \checkmark
while-løkke-versjon:
total = 0
i = 1
while i <= 100:
total = total + i
i = i + 1
print(f"Summen er {total}")Her gjentek vi så lenge i <= 100. Vi må hugse å auke i med 1 i kvart steg, elles køyrer løkka for alltid!
Lister
Ei liste i Python er ei samling av verdiar i ei bestemt rekkjefølgje. Lister blir laga med hakeparentesar:
karakterer = [5, 4, 6, 3, 5, 4]
navn = ["Ola", "Kari", "Per"]Nyttige operasjonar med lister:
# Hente element (indeks startar på 0)
print(karakterer[0]) # Skriver ut 5
print(karakterer[2]) # Skriver ut 6
# Legge til element
karakterer.append(6) # Legger til 6 på slutten
# Finne lengden
print(len(karakterer)) # Skriver ut 7
# Gå gjennom med for-løkke
for k in karakterer:
print(k)Lister er nyttige for å lagre og analysere datasett, som til dømes karakterar, temperaturmålingar eller terningkast.
Kva skriv dette programmet ut? Prøv å finne svaret utan å køyre koden.
a = 10
b = 3
c = a + b
print(c)
c = c * 2
print(c)Skriv eit Python-program som ber brukaren om to tal, og skriv ut summen, differansen, produktet og kvotienten av tala.
Skriv eit Python-program som ber brukaren om eit tal og skriv ut om talet er partal eller oddetal.
Skriv eit Python-program som bruker ei for-løkke til å skrive ut gangetabellen for eit tal som brukaren vel (frå 1 til 10).
Skriv eit Python-program som bruker ei for-løkke til å rekne ut (n fakultet). Lat brukaren velje . Hugs at og at .
Skriv eit program som lagar ei liste med tala frå 1 til 20, og deretter:
a) Skriv ut alle partala i lista
b) Reknar ut summen av alle tala i lista
c) Finn det største talet i lista
Skriv eit Python-program som bruker ei while-løkke til å gjette eit hemmeleg tal. Programmet skal generere eit tilfeldig tal mellom 1 og 100 (bruk import random og random.randint(1, 100)), og lat brukaren gjette. Etter kvart gjett skal programmet seie om gjettet er for høgt, for lågt, eller rett. Tel talet på forsøk.
Skriv eit program som finn alle primtal mellom 2 og 100. Eit primtal er eit tal større enn 1 som berre er deleleg med 1 og seg sjølv.
Hint: For kvart tal frå 2 til 100, sjekk om er deleleg med noko tal frå 2 til . Viss ikkje, er eit primtal.
I Python gjer = det same som i matematikk — det sjekkar om to verdiar er like.
Oppsummering
I dette kapittelet har du lært:
- Variablar og datatypar: Å lagre tal, tekst og sanningsverdiar i variablar med tilordningsoperatoren =
- print() og input(): Å skrive ut resultat til skjermen og lese inn data frå brukaren
- Vilkår (if/elif/else): Å la programmet ta val basert på om noko er sant eller usant
- Løkker (for og while): Å gjenta kode automatisk eit bestemt tal gonger eller så lenge eit vilkår er sant
- Lister: Å organisere fleire verdiar i ei samling med hakeparentesar
Nøkkelomgrep
| Omgrep | Forklaring |
|---|---|
| Variabel | Eit namn som peikar på ein verdi lagra i minnet til datamaskinen |
| Datatype | Typen verdi ein variabel inneheld: int, float, str eller bool |
print() | Funksjon som skriv ut tekst eller verdiar til skjermen |
input() | Funksjon som lèt brukaren skrive inn data (returnerer alltid tekst) |
| if/elif/else | Vilkår som lèt programmet ta val |
| for-løkke | Gjentek kode eit bestemt tal gonger med range() |
| while-løkke | Gjentek kode så lenge eit vilkår er sant |
Modulo (%) | Operator som gir resten ved heiltalsdivisjon |
Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.