Tilbake
11.1
Introduksjon til Python

11.1 Introduksjon til Python

Grunnleggende programmering med Python: variabler, løkker og funksjoner.

55 min
8 oppgaver
PythonVariablerLøkkerFunksjoner
Du leser den tradisjonelle versjonen
Din fremgang i kapitlet
0 / 8 oppgaver

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

Variabel

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.14159

Viktige 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() og input()
print() skriver ut tekst eller verdier til skjermen:

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.

✏️Eksempel: Beregne areal av en sirkel

Skriv et Python-program som ber brukeren om radiusen til en sirkel og regner ut arealet. Husk at arealet av en sirkel er A=πr2A = \pi r^2.

Løsning:

pi = 3.14159
radius = float(input("Skriv inn radiusen: "))
areal = pi * radius ** 2
print(f"Arealet av sirkelen er {areal:.2f}")

Forklaring:
- Vi lagrer π\pi i variabelen pi
- Vi bruker float(input(...)) for å lese inn et desimaltall fra brukeren
- Vi beregner arealet med formelen A=πr2A = \pi \cdot r^2, 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.54

Vi kan sjekke: A=π52=3,141592578,54A = \pi \cdot 5^2 = 3{,}14159 \cdot 25 \approx 78{,}54 \checkmark

📝Oppgave F1
Finn feilen! Sara har skrevet dette Python-programmet for å beregne gjennomsnittet av tre tall:

a = 10
b = 20
c = 30
gjennomsnitt = a + b + c / 3
print(gjennomsnitt)

Programmet skriver ut 40.040.0 i stedet for 20.020.0. Finn feilen og forklar hva som gikk galt.

Betingelser: if, elif og else
Betingelser lar programmet ta valg basert på om noe er sant eller usant:

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:

OperatorBetydning
==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.
✏️Eksempel: Sjekke om et tall er delelig

Skriv et program som sjekker om et tall er delelig med både 3 og 5.

Løsning:

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 tall=15\text{tall} = 15:
- 15÷3=515 \div 3 = 5 med rest 00 \checkmark
- 15÷5=315 \div 5 = 3 med rest 00 \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

✏️Eksempel: Summere tall med en for-løkke

Skriv et program som beregner summen 1+2+3++1001 + 2 + 3 + \ldots + 100 ved hjelp av en for-løkke.

Løsning:

total = 0
for i in range(1, 101):
    total = total + i
print(f"Summen er {total}")

Forklaring:
- range(1, 101) gir tallene 1,2,3,,1001, 2, 3, \ldots, 100 (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: n(n+1)2=1001012=5050\displaystyle \frac{n(n+1)}{2} = \frac{100 \cdot 101}{2} = 5050 \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.

📝Oppgave 1

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)

📝Oppgave 2

Skriv et Python-program som ber brukeren om to tall, og skriver ut summen, differansen, produktet og kvotienten av tallene.

📝Oppgave 3

Skriv et Python-program som ber brukeren om et tall og skriver ut om tallet er partall eller oddetall.

📝Oppgave 4

Skriv et Python-program som bruker en for-løkke til å skrive ut gangetabellen for et tall som brukeren velger (fra 1 til 10).

📝Oppgave 5

Skriv et Python-program som bruker en for-løkke til å beregne n!n! (n fakultet). La brukeren velge nn. Husk at n!=123nn! = 1 \cdot 2 \cdot 3 \cdot \ldots \cdot n og at 0!=10! = 1.

📝Oppgave 6

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

📝Oppgave 7

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.

📝Oppgave 8

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 nn fra 2 til 100, sjekk om nn er delelig med noe tall fra 2 til n1n-1. Hvis ikke, er nn et primtall.

📝Oppgave S1
Sant eller usant?

I Python gjør = det samme som i matematikk — det sjekker om to verdier er like.

📝Oppgave D1
Drøftingsoppgave: En elev sier: «Programmering er egentlig bare å huske kommandoer — det har ingenting med matematikk å gjøre.» Er du enig eller uenig? Begrunn svaret ditt med minst to konkrete eksempler fra dette kapittelet der programmering og matematikk henger tett sammen.

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


BegrepForklaring
VariabelEt navn som peker på en verdi lagret i datamaskinens minne
DatatypeTypen 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/elseBetingelser som lar programmet ta valg
for-løkkeGjentar kode et bestemt antall ganger med range()
while-løkkeGjentar kode så lenge en betingelse er sann
Modulo (%)Operator som gir resten ved heltallsdivisjon
Repetisjonsoppgaver
Din fremgang
0deloppgaver0 / 6 oppgaver

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.