Et nyvunnet programmeringskonsept kan løfte ferdighetene dine til et helt nytt nivå. Hvis du allerede er kjent med For-løkker, er det på tide å bli kjent med en annen sentral byggekloss i programmering: While-løkker. I denne guiden vil du lære hva While-løkker er, hvordan de fungerer, og hvordan du effektivt kan bruke dem i din Python-kode.
Viktige innkjøp
- While-løkker gjentar utførelsen av en kode så lenge en spesiell betingelse er oppfylt.
- Det er avgjørende at løkken stopper etter hvert for å unngå evige løkker.
- Med break, continue og pass kan du styre atferden til While-løkker.
Grunnleggende om While-løkka
While-løkken er en av de grunnleggende løkkentypene i Python, som lar deg utføre en kodeblokk gjentatte ganger så lenge en betingelse forblir oppfylt. I motsetning til For-løkken gjentar While-løkken ikke utførelsen for et fast antall iterasjoner, men så lenge det kreves av logikken i programmet ditt.
Syntax for While-løkka
Nedenfor vil jeg forklare strukturen til en While-løkke mer detaljert.

Først definerer du en betingelse som blir sjekket. Hvis betingelsen er True (sann), vil kodeblokken innenfor løkken bli utført. Etter hver gjennomgang blir betingelsen sjekket på nytt.
Et enkelt eksempel
La oss si at du ønsker å øke verdien til en variabel x så lenge den er mindre enn 4.

Ved hver gjennomgang økes x, og den nåværende verdien av x blir skrevet ut. Dette fortsetter så lenge betingelsen er oppfylt.
Slutt på løkken
Det er viktig at løkken stopper etter hvert, og at betingelsen blir False. Ellers oppretter du en evig løkke som kan få programmet ditt til å krasje. For å unngå dette, sørg for at variabelen du sjekker faktisk blir endret, slik at betingelsen ikke alltid forblir True.

Else-blokk i While-løkker
En annen nyttig aspekt ved While-løkker er bruken av en else-blokk. Denne blokken blir utført når løkken avsluttes og betingelsen ikke lenger er oppfylt.

Når du kjører koden ovenfor, vil meldingen "Gjennomgangen er ferdig." bli skrevet ut på slutten av løkken.
Kontroll av løkker med Break og Continue
I mer komplekse programmer kan det være nødvendig å styre atferden til While-løkker ytterligere. Her kommer kommandoene break, continue og pass inn i bildet.
Break
Med break-kommandoen kan du manuelt avbryte en løkke. Hvis du oppfyller en bestemt betingelse, kan du forlate løkken tidlig.

I dette eksemplet blir løkken avbrutt så snart x når verdien 2, slik at bare x = 0 og x = 1 blir skrevet ut.
Continue
Continue-kommandoen derimot hopper over den nåværende iterasjonen og går direkte til neste.

I dette tilfellet blir x = 2 ikke skrevet ut, fordi programmet hopper til neste iterasjon så snart verdien av x når 2.
Pass
Pass-kommandoen brukes til å holde en blokkavtale tom, uten å utføre noe. Den er nyttig når du trenger en plassholder og ennå ikke er sikker på hva som skal utføres der.

I dette eksemplet har While-løkken en betingelse som ikke har effekt for x = 2, men koden forblir likevel uten komplikasjoner.
Oppsummering – While-løkker i Python: En nybegynnerguide
I denne guiden har du lært det grunnleggende om While-løkker i Python. Du vet nå hvordan man definerer en While-løkke, hva syntaksen er, og hvilke funksjoner som break, continue og pass som er tilgjengelig for effektiv kontroll av løkkene. Husk at du alltid bør sørge for at løkken din stopper å eksistere for å unngå evige løkker.
Vanlige spørsmål
Hvordan fungerer en While-løkke?En While-løkke gjentar utførelsen av en kodeblokk så lenge en bestemt betingelse er oppfylt.
Hva er forskjellen mellom break og continue?break avbryter løkken helt, mens continue hopper over den nåværende iterasjonen og går til neste.
Hvordan unngår jeg evige løkker i koden min?Sørg for at betingelsen for While-løkken ikke alltid er sann, ved å endre den sjekkede variabelen deretter.
Skader det å bruke pass i løkken min?Nei, pass er en plassholder og har ingen innvirkning på atferden til løkken din. Det brukes bare for å unngå syntaksfeil.
Hva skjer hvis betingelsen til en While-løkke ikke er oppfylt fra starten av?Hvis betingelsen ikke er oppfylt ved første gjennomgang, blir kodeblokken av løkken aldri utført, men else-blokken kan muligens bli utført hvis den er definert.