Du itererer gjennom en lang tekst og leter etter en bestemt bokstav. Når du finner den, er det ingen grunn til å fortsette resten av løkken. Med break avslutter du løkken umiddelbart. Noen ganger vil du derimot hoppe over ett element og fortsette med resten. Da bruker du continue. Begge nøkkelordene gir deg presis kontroll over løkkene dine i Python.
break avslutter løkken
Når Python treffer break, stopper den løkken med en gang og hopper til koden etter løkken. Ingenting mer inne i løkken kjører for den aktuelle runden, og det blir ingen flere runder:
tekst = "teknologi"
for bokstav in tekst:
if bokstav == "n":
break
print(bokstav)
Denne koden skriver ut t, e, k. Når løkken når bokstaven "n", treffer den break og stopper helt. Bokstavene o, l, o, g, i blir aldri behandlet.
Break brukes oftest sammen med en if-setning inne i løkken. If-setningen sjekker om det er på tide å stoppe, og break utfører selve stoppet.
break i while-løkker
Break er spesielt nyttig i while-løkker, der du kanskje oppdager midt i løkkekroppen at du vil avslutte. Her er den samme bokstavsjekken med en while-løkke:
tekst = "teknologi"
indeks = 0
while indeks < len(tekst):
bokstav = tekst[indeks]
if bokstav == "n":
break
print(bokstav)
indeks += 1
Resultatet er identisk: t, e, k. Forskjellen er at du i while-løkken må håndtere indeksen selv. Break fungerer på nøyaktig samme måte i begge løkketypene.
continue hopper over resten av runden
Der break avslutter hele løkken, gjør continue noe mildere. Den hopper over resten av koden i den aktuelle runden og starter neste runde umiddelbart:
tekst = "teknologi"
for bokstav in tekst:
if bokstav == "n":
continue
print(bokstav)
Her skrives t, e, k, o, l, o, g, i. Alle bokstavene unntatt "n". Når løkken treffer "n", hopper continue tilbake til toppen av løkken og går videre med neste bokstav. Resten av løkkekroppen (print-linjen) kjører ikke for den runden.
Vær forsiktig med continue i while-løkker
I en for-løkke håndterer Python automatisk neste iterasjon. I en while-løkke styrer du telleren selv, og det skaper en felle. Plasserer du indeksoppdateringen etter continue, blir den aldri kjørt for den runden du hopper over:
tekst = "teknologi"
indeks = 0
while indeks < len(tekst):
bokstav = tekst[indeks]
if bokstav == "n":
indeks += 1
continue
print(bokstav)
indeks += 1
Legg merke til at indeks += 1 står to steder: én gang inne i if-blokken (før continue), og én gang på slutten av løkken. Uten den første ville løkken blitt uendelig, fordi indeksen aldri øker når du treffer "n". Continue hopper over alt som står under seg, inkludert den vanlige indeksoppdateringen.
Når du bør bruke break og continue
Break er det naturlige valget når du søker etter noe i en sekvens og vil stoppe så fort du finner det. Typiske bruksområder:
- Finne den første forekomsten av en verdi
- Avslutte en meny-løkke når brukeren velger "avslutt"
- Stoppe en while True-løkke basert på en betingelse inne i løkken
Continue passer når du vil filtrere bort enkeltelementer uten å stoppe hele prosessen:
- Hoppe over tomme linjer når du behandler tekst
- Ignorere ugyldige verdier i en liste
- Fortsette til neste element når ett element ikke oppfyller et krav
Begge gjør koden mer lesbar enn alternativet, som ofte er dypt nøstede if-setninger. I stedet for å pakke hele løkkekroppen inn i en if, kan du snu betingelsen og bruke continue for å hoppe over det du ikke vil ha.
Break i nøstede løkker
Har du en løkke inne i en annen, avslutter break bare den innerste løkken den står i. Den ytre løkken fortsetter som normalt:
for i in range(3):
for j in range(3):
if j == 1:
break
print(i, j)
Du får 0 0, 1 0, 2 0. For hver runde i den ytre løkken starter den indre løkken, men den avbrytes med break allerede når j er 1. Den ytre løkken kjører alle sine tre runder uforstyrret.
while True med break for menyvalg
Et vanlig mønster er å kjøre en while True-løkke og bruke break for å avslutte når brukeren velger det:
while True:
valg = input("Skriv 'q' for å avslutte: ")
if valg == "q":
print("Avslutter")
break
print("Du skrev:", valg)
Løkken kjører i det uendelige helt til brukeren skriver "q". Da treffer break, og programmet går videre til koden etter løkken. Mønsteret er vanlig i tekstbaserte menyer, spill og programmer som skal kjøre til brukeren aktivt avslutter.
Neste steg
Med break og continue har du full kontroll over for-løkker og while-løkker. Neste steg er å begynne å jobbe med datastrukturer som lister og ordbøker, der løkker med break og continue virkelig viser sin styrke. Python-dokumentasjonen har mer om break og continue i løkker.
Denne videoen er hentet fra kurset Python for nybegynnere på Utdannet.no. I kurset bruker du break og continue i stadig mer realistiske programmer, kombinert med lister, funksjoner og feilhåndtering.




