Tilbake
9.2
Programmering med Python

9.2 Programmering med Python

Lær grunnleggende programmering i Python: variabler, datatyper, betingelser, løkker og funksjoner, med praktiske eksempler fra matematikken.

55 min
8 oppgaver
PythonVariablerDatatyperBetingelserLøkkerFunksjoner
Du leser den tradisjonelle versjonen
Din fremgang i kapitlet
0 / 8 oppgaver
Kapitlets plass i kurset

Kvifor Python?

Python er eit programmeringsspråk som er spesielt godt eigna for nybegynarar. Det har enkel syntaks som liknar på vanleg engelsk, og det er kraftig nok til å bli brukt av forskarar, ingeniørar og dataanalytikkarar over heile verda.

I matematikk brukar vi Python fordi det er enkelt å:
- Gjere berekningar raskt og nøyaktig
- Utforske mønster og samanhenger
- Teikne grafar og visualisere data
- Simulere tilfeldige forsøk

For å kome i gang treng du berre ein nettlesar. Du kan bruke gratistjenester som Trinket (trinket.io) eller replit.com til å skrive og køyre Python-kode utan å installere noko.

Variablar og datatypar

Ein variabel er eit namn som peikar på ein verdi. Tenk på det som ei merkelapp på ei boks der du oppbevarer noko.

alder = 16
namn = "Ola"
høgd = 1.75
er_elev = True

Python har fleire datatypar:

DatatypeSkildringDøme
intHeiltal42, -7, 0
floatDesimaltal3.14, -0.5
strTekst (streng)"Hei", 'Verden'
boolSannhetsverdiTrue, False

Merk: I Python brukar vi punktum som desimalskiletegn, ikkje komma (altså 3.14 i staden for 3,14).
Variabel

Ein variabel er eit namn som refererer til ein verdi lagra i datamaskina si minne.

Vi opprettar ein variabel med tilordning (=):

pris = 299

Variabelnamnet (pris) er til venstre, verdien (299) er til høgre. Vi kan endre verdien seinare:

pris = 349

Input og output

For å skrive ut noko til skjermen brukar vi print(). For å lese inn noko frå brukaren brukar vi input().

# Skrive ut tekst
print("Hei, verden!")

# Skrive ut ein variabel
resultat = 7 + 3
print(resultat)          # Skriv ut: 10
print("Svaret er", resultat)  # Skriv ut: Svaret er 10

# Lese inn frå brukaren
namn = input("Kva heiter du? ")
print("Hei,", namn)

Viktig: input() gir alltid tekst tilbake. Viss du vil bruke det som eit tal, må du konvertere:

tekst = input("Skriv inn eit tal: ")
tall = int(tekst)       # Gjer om til heiltal
# eller
tall = float(tekst)     # Gjer om til desimaltal

Rekneoperasjonar i Python

Python kan bli brukt som ein kraftig kalkulator. Her er dei viktigaste operatorane:

OperatorTydingDømeResultat
+Addisjon7 + 310
-Subtraksjon10 - 46
*Multiplikasjon5 * 315
/Divisjon17 / 44.25
**Potens2 ** 532
//Heiltallsdivisjon17 // 44
%Rest (modulo)17 % 41

# Døme
print(3 + 4)       # 7
print(2 ** 10)     # 1024
print(17 // 5)     # 3 (heiltallsdivisjon)
print(17 % 5)      # 2 (rest: 17 = 3*5 + 2)
print(3.14 * 5**2) # 78.5 (areal av sirkel med radius 5)
✏️Døme 1: Temperaturomgjerding

Skriv eit Python-program som reknar om frå Celsius til Fahrenheit. Formelen er: F=95C+32\displaystyle F = \frac{9}{5} \cdot C + 32.

celsius = float(input("Skriv inn temperatur i Celsius: "))
fahrenheit = (9/5) * celsius + 32
print(celsius, "grader Celsius er", fahrenheit, "grader Fahrenheit")

Døme på kjøring:

Skriv inn temperatur i Celsius: 20
20.0 grader Celsius er 68.0 grader Fahrenheit

Programmet lesar inn temperaturen frå brukaren, gjer om til desimaltal med float(), reknar ut Fahrenheit med formelen, og skriv ut svaret.

If-setningar (betingingar)

Ein if-setning let programmet ta val. Ho sjekkar om ein betinging er sann, og utfører kode basert på resultatet.

alder = int(input("Kor gammal er du? "))

if alder >= 18:
    print("Du er myndig.")
else:
    print("Du er ikkje myndig endå.")

Vi kan også ha fleire betingingar med elif (forkorting for "else if"):

poeng = int(input("Kor mange poeng fekk du? "))

if poeng >= 90:
    print("Karakter: 6")
elif poeng >= 75:
    print("Karakter: 5")
elif poeng >= 55:
    print("Karakter: 4")
elif poeng >= 40:
    print("Karakter: 3")
elif poeng >= 25:
    print("Karakter: 2")
else:
    print("Karakter: 1")

Samanlikningsoperatorar:
- == er lik
- != er ikkje lik
- > større enn, < mindre enn
- >= større enn eller lik, <= mindre enn eller lik

Løkker (gjentaking)

Løkker let oss gjenta kode mange gonger utan å skrive ho om att.

For-løkke


Bløm brukt når vi veit kor mange gonger vi vil gjenta:

# Skriv ut tala 1 til 5
for i in range(1, 6):
    print(i)

range(1, 6) gir tala 1, 2, 3, 4, 5 (merk: 6 er ikkje inkludert).

# Berekn summen 1 + 2 + 3 + ... + 100
total = 0
for tall in range(1, 101):
    total = total + tall
print("Summen er", total)   # Skriv ut: Summen er 5050

While-løkke


Bløm brukt når vi vil gjenta så lenge ein betinging er sann:

# Tell ned frå 10
n = 10
while n > 0:
    print(n)
    n = n - 1
print("Start!")
✏️Døme 2: Prosentrekning

Skriv eit Python-program som bereknar vekstfaktor og ny pris etter ein prosentvis endring.

pris = float(input("Oppgi opphavleg pris: "))
endring = float(input("Oppgi prosentvis endring (f.eks. 15 for auke, -20 for nedgang): "))

vekstfaktor = 1 + endring / 100
ny_pris = pris * vekstfaktor

print("Vekstfaktor:", vekstfaktor)
print("Ny pris:", round(ny_pris, 2), "kr")

Døme på kjøring:

Oppgi opphavleg pris: 500
Oppgi prosentvis endring (f.eks. 15 for auke, -20 for nedgang): -25
Vekstfaktor: 0.75
Ny pris: 375.0 kr

Funksjonen round(ny_pris, 2) rundar av til 2 desimalar.

Funksjonar

Ein funksjon er ein namngitt blokk med kode som utfører ein bestemt oppgåve. Vi kan bruke ho igjen og igjen.

def hils(namn):
    print("Hei,", namn, "!")

hils("Sara")     # Skriv ut: Hei, Sara !
hils("Erik")     # Skriv ut: Hei, Erik !

Funksjonar kan også returnere ein verdi:

def areal_rektangel(lengd, breidd):
    return lengd * breidd

a = areal_rektangel(5, 3)
print("Arealet er", a)    # Skriv ut: Arealet er 15

Funksjonar gjer koden ryddigare og enklare å gjenbruke. Tenk på ein funksjon som ei liten maskin: du puttar inn noko (argument), maskina gjer sitt, og du får noko tilbake (returverdi).

✏️Døme 3: Berekne gjennomsnitt

Skriv ein Python-funksjon som bereknar gjennomsnittet av ei liste med tal.

def gjennomsnitt(talliste):
    total = 0
    for tall in talliste:
        total = total + tall
    return total / len(talliste)

karakterar = [4, 5, 3, 6, 5, 4]
snitt = gjennomsnitt(karakterar)
print("Gjennomsnittet er", round(snitt, 2))

Døme på kjøring:

Gjennomsnittet er 4.5

Her brukar vi:
- len(talliste) for å finne antal element i lista
- Ein for-løkke for å summere alle tala
- round() for å avrunde svaret

📝Oppgave 9.5

Kva blir skrive ut av følgjande Python-kode?

a
print(3 + 4 * 2)
b

`print(2 ** 4)`

c

`print(15 // 4)`

d

`print(15 % 4)`

📝Oppgave 9.6

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

📝Oppgave 9.7

Skriv eit Python-program som ber brukaren om ein pris og ein rabattprosentdel, og bereknar ny pris etter rabatten. Bruk ein funksjon.

📝Oppgave 9.8

Skriv eit Python-program som skriv ut gangetabellen for eit tal brukaren vel (frå 1 til 10). For døme, hvis brukaren skriv inn 7, skal programmet skrive ut: 7 1 = 7, 7 2 = 14, osv.

Oppsummering

I dette kapittelet har du lært:

- Variablar: Namn som lagrar verdiar: pris = 500
- Rekneopersjonar: +, -, *, /, heiltalsdivisjon //, rest % og potens **
- If-setningar: Let programmet velja veg ut frå ein betingelse — hugs kolon og innrykk!
- Løkker: for i in range(n) gjentek kode n gonger.
- Funksjonar: Gjenbrukbare kodeblokkker definerte med def.

Nøkkelbegrep


BegrepForklaring
VariabelNamn på ein lagra verdi
input() / print()Lesa inn og skriva ut
range(n)Tala 0,1,,n10, 1, \ldots, n-1
InnrykkViser kva som høyrer til if/løkke

Hugs


- 10 // 3 gjev 3 (heiltalsdivisjon), 10 % 3 gjev 1 (rest), 2 ** 3 gjev 8 (potens)
Repetisjonsoppgåver
Din fremgang
0deloppgaver0 / 4 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.