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.
1234567891011hours_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.
1234567891011hours_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.
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. Hviselif-betingelsen er sann, kjøres den tilhørendeelif-blokken; - Hvis den første
elifer usann, kan en annenelifsjekkes, og hvis den er sann, kjøres dens respektive kodeblokk; - Hvis ingen av
if- ellerelif-betingelsene er oppfylt (dvs. alle er usanne), kjøres den sisteelse-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?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår