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

Variabel

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

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

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.

✏️Døme: Rekne ut arealet av ein sirkel

Skriv eit Python-program som ber brukaren om radiusen til ein sirkel og reknar ut arealet. Hugs at arealet av ein sirkel er A=πr2A = \pi r^2.

Løysing:

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

Forklaring:
- Vi lagrar π\pi i variabelen pi
- Vi bruker float(input(...)) for å lese inn eit desimaltal frå brukaren
- Vi reknar ut arealet med formelen A=πr2A = \pi \cdot r^2, 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.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 skrive dette Python-programmet for å rekne ut gjennomsnittet av tre tal:

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

Programmet skriv ut 40.040.0 i staden for 20.020.0. Finn feilen og forklar kva som gjekk gale.

Vilkår: if, elif og else
Vilkår lèt programmet ta val basert på om noko 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 samanlikningsoperatorar:

OperatorTyding
==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.
✏️Døme: Sjekke om eit tal er deleleg

Skriv eit program som sjekkar om eit tal er deleleg med både 3 og 5.

Løysing:

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

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

✏️Døme: Summere tal med ei for-løkke

Skriv eit program som reknar ut summen 1+2+3++1001 + 2 + 3 + \ldots + 100 ved hjelp av ei for-løkke.

Løysing:

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

Forklaring:
- range(1, 101) gir tala 1,2,3,,1001, 2, 3, \ldots, 100 (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: 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 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.

📝Oppgave 1

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)

📝Oppgave 2

Skriv eit Python-program som ber brukaren om to tal, og skriv ut summen, differansen, produktet og kvotienten av tala.

📝Oppgave 3

Skriv eit Python-program som ber brukaren om eit tal og skriv ut om talet er partal eller oddetal.

📝Oppgave 4

Skriv eit Python-program som bruker ei for-løkke til å skrive ut gangetabellen for eit tal som brukaren vel (frå 1 til 10).

📝Oppgave 5

Skriv eit Python-program som bruker ei for-løkke til å rekne ut n!n! (n fakultet). Lat brukaren velje nn. Hugs at n!=123nn! = 1 \cdot 2 \cdot 3 \cdot \ldots \cdot n og at 0!=10! = 1.

📝Oppgave 6

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

📝Oppgave 7

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.

📝Oppgave 8

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 nn frå 2 til 100, sjekk om nn er deleleg med noko tal frå 2 til n1n-1. Viss ikkje, er nn eit primtal.

📝Oppgave S1
Sant eller usant?

I Python gjer = det same som i matematikk — det sjekkar om to verdiar er like.

📝Oppgave D1
Drøftingsoppgåve: Ein elev seier: «Programmering er eigentleg berre å hugse kommandoar — det har ingenting med matematikk å gjere.» Er du einig eller ueinig? Grunngi svaret ditt med minst to konkrete døme frå dette kapittelet der programmering og matematikk heng tett saman.

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


OmgrepForklaring
VariabelEit namn som peikar på ein verdi lagra i minnet til datamaskinen
DatatypeTypen 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/elseVilkår som lèt programmet ta val
for-løkkeGjentek kode eit bestemt tal gonger med range()
while-løkkeGjentek kode så lenge eit vilkår er sant
Modulo (%)Operator som gir resten ved heiltalsdivisjon
Repetisjonsoppgåver
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.