0% fullført
Kapittel 1.9
I dette kapitlet skal du lære om for-løkker, range()-funksjonen, iterering over lister, og list comprehension.

En for-løkke brukes til å iterere (gå gjennom) elementer i en sekvens, som en liste, streng eller range. For-løkker er ofte enklere å bruke enn while-løkker når vi vet hvor mange ganger vi skal gjenta noe.
for variabel in sekvens: # Kode som kjøres for hvert elementrange() genererer en sekvens av tall. Dette er perfekt for for-løkker når vi vil gjenta noe et bestemt antall ganger.
range(stopp)range(5) gir: 0, 1, 2, 3, 4range(start, stopp)range(2, 6) gir: 2, 3, 4, 5range(start, stopp, steg)range(0, 10, 2) gir: 0, 2, 4, 6, 8range(5) inkluderer ikke 5 selv!Ofte trenger vi både elementet og posisjonen (indeksen) når vi itererer. Vi kan bruke enumerate() eller range(len()) for dette.
Definer x = 1, samlet_pris = 0 og listen priser = [34,80,20,19,128] (Allerede skrevet i koden)
Lag en for løkke (for pris in priser:) som kjører koden: print("Varenummer:", x, "koster", pris, "kroner.") samlet_pris = samlet_pris + pris x = x+1
Når koden har blitt kjørt, skriv ut samlet_pris sammen med en passende svarsetning.
List comprehension er en elegant måte å lage lister på i Python. I stedet for å bruke en vanlig for-løkke, kan vi skrive alt på én linje.
[uttrykk for variabel in sekvens][uttrykk for variabel in sekvens if betingelse]Definer funksjonen f(x) slik at den returnerer x**2 (x i andre).
Sett x = [0,1,2,3,4] og lag en tom liste y = [] (utenfor funksjonen).
Lag en for-løkke (for i in x:) som kjører koden y.append(f(i))
Når koden er utført, skriv ut resultatet (y).
Sett r_1 = range(5). Hva blir de 3 første elementene i r_1? Det siste? Test antagelsen din ved å skrive print(r_1[0], r_1[1], r_1[2], r_1[-1])
Sett r_2 = range(3,10). Hva blir de 3 første elementene i r_2? Det siste? Test antagelsen din ved å skrive print(r_2[0], r_2[1], r_2[2], r_2[-1])
Sett r_3 = range(4,20,3). Hva tror du vil være de 3 første elementene i r_3? Hva med det siste? Test antagelsen din ved å skrive print(r_3[0], r_3[1], r_3[2], r_3[-1])
✓For-løkker itererer over sekvenser (lister, strenger, range)
✓range() genererer tallsekvenser: range(stopp), range(start, stopp), range(start, stopp, steg)
✓enumerate() gir både indeks og verdi ved iterering
✓List comprehension: [uttrykk for variabel in sekvens if betingelse]
✓For-løkker er ofte enklere enn while når antall iterasjoner er kjent