Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Introduksjon til Python if-elif-else-setninger | Beherske Python If-Elif-Else-Setninger
Kontrollflyt i Python

Introduksjon til Python if-elif-else-setninger

Sveip for å vise menyen

if-elif-else-setningen er et kraftig verktøy i Python som lar deg sjekke flere betingelser og utføre ulike kodeblokker basert på hvilken betingelse som er sann. Dette er spesielt nyttig når du har flere betingelser å evaluere, men kun ønsker at én kodeblokk skal kjøres.

Når du må velge mellom flere betingelser, er elif å foretrekke fremfor flere if-setninger. Dette fordi elif sørger for at når én betingelse er oppfylt, blir de resterende betingelsene hoppet over, noe som gir bedre effektivitet. Ved å bruke flere if-setninger blir alle betingelser evaluert uavhengig av hverandre, noe som kan føre til unødvendige sjekker og overflødig kode.

La oss følge med på en brukers søvnlengde og kategorisere den i ulike intervaller. Vi skal sjekke om brukeren har nådd søvnmålet sitt, er nær ved å nå det, eller trenger mer hvile.

1234567891011
hours_slept = 6 sleep_goal = 8 if hours_slept < 0: print("Sleep hours cannot be negative.") if hours_slept >= sleep_goal: print("Great job! You've met your sleep goal!") if hours_slept >= sleep_goal - 2: print("You're almost there! Keep going, you'll reach your goal soon!") if hours_slept < sleep_goal - 2: print("You need more rest. Try to sleep a bit longer tonight.")

I denne versjonen blir alle betingelser evaluert uavhengig av hverandre, selv om én betingelse allerede er sann. Dette fører til overflødige sjekker. For eksempel, hvis brukeren allerede har nådd målet sitt, sjekker koden likevel om de er nær målet eller trenger mer hvile.

1234567891011
hours_slept = 6 sleep_goal = 8 if hours_slept < 0: print("Sleep hours cannot be negative.") elif hours_slept >= sleep_goal: print("Great job! You've met your sleep goal!") elif hours_slept >= sleep_goal - 2: print("You're almost there! Keep going, you'll reach your goal soon!") else: print("You need more rest. Try to sleep a bit longer tonight.")

Ved å bruke elif blir koden mer lesbar og effektiv, siden ingen flere betingelser sjekkes etter at én er oppfylt.

if elif else-blokk

Dette diagrammet visualiserer flyten i en if-elif-else beslutningsstruktur i Python. Prosessen starter med å evaluere den første if-betingelsen:

  • Hvis den første betingelsen er sann, kjøres koden inne i if-blokken;
  • Hvis den første betingelsen er usann, går det videre til neste betingelse, som er elif. Hvis elif-betingelsen er sann, kjøres den tilhørende elif-blokken;
  • Hvis den første elif er usann, kan en annen elif sjekkes, og hvis den er sann, kjøres dens respektive kodeblokk;
  • Hvis ingen av if- eller elif-betingelsene er oppfylt (dvs. alle er usanne), kjøres den siste else-blokken, noe som sikrer at én kodeblokk alltid blir kjørt.

Denne flyten sørger for at kun den første sanne betingelsen blir kjørt, og gir en ryddig og effektiv måte å håndtere flere betingelser på. if-elif-else-strukturen unngår overflødige sjekker, og kun én kodeblokk kjøres fra hele strukturen.

1. Hva er fordelen med å bruke if-elif-else i stedet for flere if-setninger?

2. Hva vil bli skrevet ut fra følgende kode?

question mark

Hva er fordelen med å bruke if-elif-else i stedet for flere if-setninger?

Velg det helt riktige svaret

question mark

Hva vil bli skrevet ut fra følgende kode?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 1

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 3. Kapittel 1
some-alt