Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Introduction to Python If-Elif-Else-Sætninger | Beherskelse af Python if-elif-else Udsagn
Kontrolflow i Python

Introduction to Python If-Elif-Else-Sætninger

Stryg for at vise menuen

if-elif-else-sætningen er et effektivt værktøj i Python, der gør det muligt at kontrollere flere betingelser og udføre forskellige kodeblokke afhængigt af, hvilken betingelse der er opfyldt. Den er særligt nyttig, når der skal evalueres flere betingelser, men kun én kodeblok skal køres.

Når der skal vælges mellem flere betingelser, foretrækkes elif frem for flere if-sætninger. Dette skyldes, at elif sikrer, at når én betingelse er opfyldt, springes de resterende betingelser over, hvilket øger effektiviteten. Omvendt vil brug af flere if-sætninger betyde, at alle betingelser evalueres uafhængigt, hvilket kan føre til unødvendige tjek og overflødig kode.

Vi vil nu følge en brugers søvnvarighed og kategorisere den i forskellige intervaller. Vi undersøger, om brugeren har opfyldt sit søvnmål, er tæt på at opfylde det, eller har brug for mere 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 version evalueres alle betingelser uafhængigt, selvom én betingelse allerede er opfyldt. Dette fører til overflødige tjek. For eksempel, hvis brugeren allerede har opfyldt sit mål, tjekker koden stadig, om de er tæt på målet eller har brug for mere 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.")

Brugen af elif gør koden mere læsbar og effektiv, da ingen yderligere betingelser kontrolleres, når én betingelse er opfyldt.

if elif else-blok

Dette diagram visualiserer flowet i en if-elif-else beslutningsstruktur i Python. Processen starter med at evaluere den indledende if-betingelse:

  • Hvis den første betingelse er sand, udføres koden inde i if-blokken;
  • Hvis den første betingelse er falsk, går den videre til den næste betingelse, som er elif. Hvis elif-betingelsen er sand, udføres den tilsvarende elif-blok;
  • Hvis den første elif er falsk, kan en anden elif kontrolleres, og hvis den er sand, køres dens respektive kodeblok;
  • Hvis ingen af if- eller elif-betingelserne er opfyldt (dvs. alle er falske), udføres den sidste else-blok, hvilket sikrer, at én kodeblok altid bliver kørt.

Dette flow sikrer, at kun den første sande betingelse udføres, hvilket giver en klar og effektiv måde at håndtere flere betingelser på. if-elif-else-strukturen undgår overflødige tjek, og kun én kodeblok udføres fra hele strukturen.

1. Hvad er fordelen ved at bruge if-elif-else i stedet for flere if-udsagn?

2. Hvad vil blive udskrevet fra følgende kode?

question mark

Hvad er fordelen ved at bruge if-elif-else i stedet for flere if-udsagn?

Vælg det korrekte svar

question mark

Hvad vil blive udskrevet fra følgende kode?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 1

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 3. Kapitel 1
some-alt