Python: løkker, lister og funksjoner

1T

Et program blir kraftig når det kan gjenta ting. Skal du summere de første hundre tallene, vil du ikke skrive hundre linjer. Her lærer du løkker som gjentar, lister som samler mange verdier under ett navn, og funksjoner som pakker en utregning så du kan bruke den om og om igjen. Til sammen er dette det du trenger for å lese de fleste programmene på eksamen.

Bygger på: Python: variabler, logikk og valg (1T)

Start: Løkker med for og while →
  1. 1Løkker med for og whileUndertema
  2. 2ListerUndertema
  3. 3FunksjonerUndertema
  4. 4Ord og uttrykkOrdliste
  5. 5Sjekk din forståelseQuiz
  6. 6EksamensoppgaverEksamensoppgaver

Vanlige feil

Vanlig feilGjør heller dette
Tror at range(1, 5) også tar med tallet 5.Sluttverdien er aldri med. range(1, 5) gir 1, 2, 3, 4. Vil du ha 5 også, skriv range(1, 6).
Teller listeelementer fra 1, så tall[1] skal være det første.Indeksene starter på 0. tall[0] er det første elementet, og i en liste med fire elementer er tall[3] det siste.
Glemmer å starte summen på 0 før løkka, eller starter et produkt på 0.En sum starter på 0 og et produkt på 1. Starter du produktet på 0, blir svaret 0 uansett.
Lager en while-løkke der ingenting endrer betingelsen.Noe inni løkka må endre en variabel i betingelsen, ellers kjører programmet for alltid.
Skriver print i en funksjon og tror svaret kan brukes videre.print viser bare verdien. For å bruke svaret i en videre utregning må funksjonen ha return.

Til foreldre / leksehjelper

Kompetansemål fra læreplanen (Udir)
  • formulere og løse problemer ved hjelp av algoritmisk tenkning, ulike problemløsingsstrategier, digitale verktøy og programmering (se hos Udir)

Kompetansemålet ber eleven løse problemer med algoritmisk tenkning og programmering. Her betyr det at eleven skal kunne lese og forstå programmer med løkker, lister og funksjoner, og skrive korte slike selv. Eksamen spør ofte «hva skriver programmet ut?», og da gjelder det å følge programmet linje for linje, uten å kjøre det.

Slik kan du hjelpe

  • Be eleven forklare HØYT hva en løkke gjør, runde for runde. Spør «hva er verdien av variabelen nå?» etter hver runde, og la eleven fylle ut en sportabell.
  • Spør «hvor mange ganger kjøres løkka?» og «hva er første og siste verdi av i?». Her glipper det oftest for range, fordi sluttverdien ikke er med.
  • La eleven finne en funksjon fra hverdagen, for eksempel «pris for n billetter». Spør hva som er parameteren, og hva som kommer ut.

Nye begreper

Løkke
Noe programmet gjentar, som å gjøre samme regnestykke flere ganger.
Indeks
Posisjonsnummeret i en liste. Det starter på 0, ikke på 1.

Pedagogikken bak

Løkker, lister og funksjoner er byggeklossene i nesten alle programmer, og på eksamen leses de oftere enn de skrives. Den mest sentrale knuten er å holde styr på verdiene underveis, og sportabellen gjør dette synlig. Står eleven fast, start med den minste mulige løkka, for eksempel to runder, og la eleven fylle ut tabellen før du øker antallet. Står eleven fast på funksjoner, spør hva som kommer INN (parametere) og hva som kommer UT (return).

🧩 Trenger du å forklare dette uten skjerm? Prøv dette

Bruk en rekke kopper på en rad som liste: fyll hver kopp med et tall og skriv indeksen 0, 1, 2 … på en lapp under. Be eleven peke på «kopp nummer 2» og se at det er den TREDJE koppen. Da sitter indeks-fra-null.

Alternative metoder

Læres dette annerledes i landet du selv gikk på skole i? Se «Alternativ forklaring/metode» på: Løkker med for og while.

Vanlige feil å være oppmerksom på

Se «Vanlige feil» over for en oversikt over misforståelser å se etter, og hva som er riktig i stedet.