Løkker og summer – forklart steg for steg
En for-løkke gjentar linjene under seg. Her lærer du hva range gjør, hvordan du følger en sum gjennom løkka, og hvordan du sjekker svaret med en formel.
Dette er leksjon 8.2 Løkker og summer i Sophus. I kurset har den video og øving. Den er med når du har tilgang til faget, men leksjon 1.1 er gratis. Se leksjonen
Hva en for-løkke gjør
for n in range(1, 11): betyr at n går gjennom tallene fra 1. range stopper rett før det siste tallet, så n går fra 1 til 10. Løkka går altså 10 ganger.
Linjene som er rykket inn, kjøres i hver runde. print etter løkka kjøres én gang, til slutt.
Metoden
- Finn hvilke tall range går gjennom. Den stopper rett før det siste tallet.
- Følg variabelen runde for runde, og skriv opp verdiene i en tabell.
- print etter løkka skriver ut svaret én gang.
Med en formel
Summen av tallene fra 1 til n er n(n + 1) delt på 2. Med n = 10 blir det 10 · 11 delt på 2 = 55. Programmet og formelen gir det samme.
Eksempler
Eksempel 1: summen av 1 til 10
Hva skriver programmet ut?
s = 0
for n in range(1, 11):
s = s + n
print(s)
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55
10 · 11 delt på 2 = 55
Svar: Programmet skriver ut 55.
s blir 1, 3, 6, 10 og så videre, til den er 55 etter siste runde.
Eksempel 2: summen av kvadrattall
Hva skriver programmet ut?
s = 0
for n in range(1, 5):
s = s + n**2
print(s)
1 + 4 + 9 + 16 = 30
Svar: Programmet skriver ut 30.
range(1, 5) gir 1, 2, 3 og 4, og løkka legger til kvadratene av dem.
Øv selv: 15 oppgaver i funksjoner og løkker i Python med fasit og løsning steg for steg.
Vanlige feil
- Å tro at range(1, 11) tar med 11. Da blir summen 66 i stedet for 55.
- Å tro at s settes til 0 på nytt i hver runde. Linjen s = 0 står før løkka og kjøres bare én gang.
- Å tro at print kjøres i hver runde når den ikke er rykket inn.
På eksamen
Løkker kommer på del 2. Lag en tabell med én rad per runde og én kolonne per variabel, og fyll den ut for hånd. Sjekk svaret med en formel når det finnes en. Fra våren 2027 kan du ikke kjøre programmet, så tabellen er beviset ditt.
Leksjonen hører til modulen Programmering og algoritmer og øves til del 2. Les mer om eksamen i 1T, og bruk formelarket for 1T når du øver.
Begreper: for-løkke range variabel
Les også
- Funksjoner i Python – forklart steg for steg
- Halveringsmetoden – forklart steg for steg
- Vekstfart med et program – forklart steg for steg
- While-løkker og vekst – forklart steg for steg
- Figurtall og summer med program – forklart steg for steg
- Funksjoner og løkker i Python: oppgaver med fasit
- Prøv en gratis oppgave i 1T
Mer om matte 1T
- Alle modulene i matte 1T
- Eksamen i 1T: del 1, del 2 og hjelpemidler
- Eksamensguide for 1T: oppgavetypene med eksempler
- Formelark for 1T
- Begrepene i 1T forklart
- De 10 vanligste feilene i 1T
- Temaer i 1T forklart med eksempler
- Oppgaver med fasit i 1T, ordnet etter tema
Ser du en feil? Si fra på kontakt@sophus.no, så retter vi den.