Grunnleggende programmering med Python: variabler, løkker og funksjoner.
Introduksjon til Python
Har du noen gang lurt på hvordan datamaskiner løser matematiske oppgaver? Svaret er programmering — vi skriver instruksjoner som datamaskinen følger steg for steg. I dette kapittelet skal du lære det mest populære programmeringsspråket i verden: Python.
Python er mye brukt i matematikk, vitenskap og teknologi. Det er enkelt å lære fordi koden ligner på vanlig engelsk, og det er perfekt for å utforske matematiske sammenhenger.
I dette kapittelet skal du lære:
- Hvordan du bruker variabler til å lagre tall og tekst
- Hvordan du skriver ut resultater med print()
- Hvordan du tar imot brukerinput med input()
- Hvordan du bruker if/else for å ta valg
- Hvordan du bruker for-løkker og while-løkker til å gjenta beregninger
- Hvordan du bruker lister til å organisere data
En variabel i Python er et navn som peker på en verdi lagret i datamaskinens minne. Vi lager en variabel ved å bruke tilordningsoperatoren =.
alder = 14
navn = "Nora"
pi = 3.14159Viktige regler for variabelnavn:
- Kan inneholde bokstaver, tall og understrek _
- Kan ikke starte med et tall
- Kan ikke inneholde mellomrom
- Python skiller mellom store og små bokstaver: Tall og tall er to forskjellige variabler
Datatyper:
- int — heltall: 42, -7, 0
- float — desimaltall: 3.14, -0.5
- str — tekst (streng): "Hei", 'Verden'
- bool — sannhetsverdi: True eller False
print("Hei, verden!")
print(42)
alder = 14
print("Jeg er", alder, "år gammel")Vi kan også bruke f-strenger for penere utskrift:
alder = 14
print(f"Jeg er {alder} år gammel")input() lar brukeren 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, konverteres teksten til tall.
Skriv et Python-program som ber brukeren om radiusen til en sirkel og regner ut arealet. Husk at arealet av en 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 lagrer i variabelen pi
- Vi bruker float(input(...)) for å lese inn et desimaltall fra brukeren
- Vi beregner arealet med formelen , der ** betyr «opphøyd i»
- :.2f i f-strengen betyr at vi viser 2 desimaler
Testkjøring:
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 skriver ut i stedet for . Finn feilen og forklar hva som gikk galt.
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 sammenligningsoperatorer:
| Operator | Betydning |
|---|---|
== | Er lik |
!= | Er ikke lik |
< | Mindre enn |
> | Større enn |
<= | Mindre enn eller lik |
>= | Større enn eller lik |
NB: Husk innrykket (4 mellomrom) etter kolon! Python bruker innrykk for å vise hvilken kode som hører til betingelsen.
Skriv et program som sjekker om et tall er delelig 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 — den gir resten ved divisjon
- tall % 3 == 0 betyr «resten når tall deles på 3 er 0», altså er tallet delelig med 3
- and betyr at begge betingelsene må være sanne
Testkjøring med :
- med rest \checkmark
- med rest \checkmark
- Utskrift: «15 er delelig med både 3 og 5»
Løkker
En av de viktigste tingene i programmering er å kunne gjenta noe mange ganger uten å skrive den samme koden om igjen. Til dette bruker vi løkker.
Python har to typer løkker:
- for-løkke: Brukes når du vet hvor mange ganger du vil gjenta noe
- while-løkke: Brukes når du vil gjenta noe så lenge en betingelse er sann
Skriv et program som beregner summen ved hjelp av en for-løkke.
total = 0
for i in range(1, 101):
total = total + i
print(f"Summen er {total}")Forklaring:
- range(1, 101) gir tallene (merk: 101 er ikke med)
- For hvert tall i legger vi det til variabelen total
- Etter løkken skriver 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 gjenta vi så lenge i <= 100. Vi må huske å øke i med 1 i hvert steg, ellers kjører løkken for alltid!
Lister
En liste i Python er en samling av verdier i en bestemt rekkefølge. Lister lages med hakeparenteser:
karakterer = [5, 4, 6, 3, 5, 4]
navn = ["Ola", "Kari", "Per"]Nyttige operasjoner med lister:
# Hente element (indeks starter 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 for eksempel karakterer, temperaturmålinger eller terningkast.
Hva skriver dette programmet ut? Prøv å finne svaret uten å kjøre koden.
a = 10
b = 3
c = a + b
print(c)
c = c * 2
print(c)Skriv et Python-program som ber brukeren om to tall, og skriver ut summen, differansen, produktet og kvotienten av tallene.
Skriv et Python-program som ber brukeren om et tall og skriver ut om tallet er partall eller oddetall.
Skriv et Python-program som bruker en for-løkke til å skrive ut gangetabellen for et tall som brukeren velger (fra 1 til 10).
Skriv et Python-program som bruker en for-løkke til å beregne (n fakultet). La brukeren velge . Husk at og at .
Skriv et program som lager en liste med tallene fra 1 til 20, og deretter:
a) Skriver ut alle partallene i listen
b) Beregner summen av alle tallene i listen
c) Finner det største tallet i listen
Skriv et Python-program som bruker en while-løkke til å gjette et hemmelig tall. Programmet skal generere et tilfeldig tall mellom 1 og 100 (bruk import random og random.randint(1, 100)), og la brukeren gjette. Etter hvert gjett skal programmet si om gjettet er for høyt, for lavt, eller riktig. Tell antall forsøk.
Skriv et program som finner alle primtall mellom 2 og 100. Et primtall er et tall større enn 1 som bare er delelig med 1 og seg selv.
Hint: For hvert tall fra 2 til 100, sjekk om er delelig med noe tall fra 2 til . Hvis ikke, er et primtall.
I Python gjør = det samme som i matematikk — det sjekker om to verdier er like.
Oppsummering
I dette kapittelet har du lært:
- Variabler og datatyper: Å lagre tall, tekst og sannhetsverdier i variabler med tilordningsoperatoren =
- print() og input(): Å skrive ut resultater til skjermen og lese inn data fra brukeren
- Betingelser (if/elif/else): Å la programmet ta valg basert på om noe er sant eller usant
- Løkker (for og while): Å gjenta kode automatisk et bestemt antall ganger eller så lenge en betingelse er sann
- Lister: Å organisere flere verdier i en samling med hakeparenteser
Nøkkelbegreper
| Begrep | Forklaring |
|---|---|
| Variabel | Et navn som peker på en verdi lagret i datamaskinens minne |
| Datatype | Typen verdi en variabel inneholder: int, float, str eller bool |
print() | Funksjon som skriver ut tekst eller verdier til skjermen |
input() | Funksjon som lar brukeren skrive inn data (returnerer alltid tekst) |
| if/elif/else | Betingelser som lar programmet ta valg |
| for-løkke | Gjentar kode et bestemt antall ganger med range() |
| while-løkke | Gjentar kode så lenge en betingelse er sann |
Modulo (%) | Operator som gir resten ved heltallsdivisjon |
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.