Løkker

Løkker i blokk

Selv om ulike blokkbaserte verktøy ofte har litt ulikt utseende og fargebruk på løkkene sine, så er prinsippene de samme, og vi skal starte med to nokså grunnleggende eksempler her:

Ren Repetisjon

Hvis det er en del av programmet som skal gjentas på samme måte flere ganger på rad, er det både enklere og mer ryddig å samle dette i en løkke.

Det er ingen merkbar forskjell hvis man trykker på A eller B i programmet over, men bruken av løkker gjør det kjappere å lage det samt enklere å lese.

Repetisjon med endring

Ved å endre en variabel som del av en løkke, kan løkken også endre seg noe for hver gang den kjøres. Eksempelet under er en enkel nedtelling med en liten "animasjon" som spilles av til slutt:

Turtle som ØKER antall steg gradvis:

"GJENTA FOR ALLTID"-Løkker

Når man jobber med sensorer er det vanlig at man bruker løkken som kalles "gjenta for alltid", fordi programmet kontinuerlig skal oppdatere hva den gjør med utgangspunkt i inndata fra sensoren.

Løkker i Python

Når vi trenger ei løkke skal kjøre et bestemt antall ganger i Python, bruker vi noe som kalles "for-løkker". Her er et enkelt eksempel på ei slik løkke:

Vi begynner løkka vår med linja "for i in range(4):" Dette forteller programmet at alt som står med innrykk under denne linja skal gjøres 4 ganger. Prøv å bytte ut tallet 4 eller det som står i print()-funksjonen med andre ting for å se hvordan det påvirker utskriften.

Forrige gang simulerte vi terningkast ved hjelp av randint()-funksjonen, som vist under. Utvid koden under for å lage et program som printer fem terningkast til skjermen.

Løsningsforslag

Oppdatere variabler i løkker

Vi kan også ha variabler som endres for hver runde av ei løkke. For eksempel kan vi skrive ut de 10 første partallene ved å øke en variabel med 2 i hver runde, og ha 10 runder i alt:

Som vi ser i linje 4 oppdateres variabelen partall ved at vi skriver partall = partall + 2.

Her forteller vi programmet at partall først skal ha verdien 0, og så skal partall ha verdien til partall (altså 0), men vi legger også til 2. partall får da verdien 2. I neste omgang legges 2 til igjen, og partall får verdien 4, og så videre i alt 10 ganger.

Det kan være litt forvirrende at vi bruker likhetstegnet slik. I programmering bruker vi nemlig likhetstegnet for å tilordne en verdi, og ikke for å indikere likhet, slik som i matematikk.

I koden over bruker vi også x som løkkevariabel, i stedet for i. Du kan bruke hvilket som helst ord, så lenge det ikke er det samme som en annen variabel i programmet ditt.

Oppgave: Sjanse i Yatzy

Skriv et program som kaster fem terninger, og til slutt forteller summen av terningene. Hvis du trenger litt hjelp kan du se på flytskjemaet under kodeboksen.

Flytskjema som kan være til hjelp

Løsningsforslag