Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Introduktion till Python if-elif-else-satser | Bemästra Python if-elif-else-satser
Kontrollflöde i Python

Introduktion till Python if-elif-else-satser

Svep för att visa menyn

if-elif-else-satsen är ett kraftfullt verktyg i Python som gör det möjligt att kontrollera flera villkor och köra olika kodblock beroende på vilket villkor som är sant. Det är särskilt användbart när du har flera villkor att utvärdera, men endast vill att ett kodblock ska köras.

När du behöver välja mellan flera villkor är elif att föredra framför flera if-satser. Detta beror på att elif säkerställer att när ett villkor är uppfyllt, hoppas resten av villkoren över, vilket förbättrar effektiviteten. Om du istället använder flera if-satser utvärderas alla villkor oberoende av varandra, vilket kan leda till onödiga kontroller och redundant kod.

Vi ska följa en användares sömntid och kategorisera den i olika intervall. Vi kommer att kontrollera om användaren har uppnått sitt sömnmål, är nära att uppnå det eller behöver mer vila.

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 denna version utvärderas alla villkor oberoende av varandra, även om ett villkor redan är sant. Detta leder till redundanta kontroller. Till exempel, om användaren redan har uppnått sitt mål, kontrollerar koden ändå om de är nära målet eller behöver mer vila.

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.")

Att använda elif gör koden mer läsbar och effektiv, eftersom inga fler villkor kontrolleras när ett villkor är uppfyllt.

if elif else-block

Detta diagram visualiserar flödet i en if-elif-else-beslutsstruktur i Python. Processen börjar med att den initiala if-villkoret utvärderas:

  • Om det första villkoret är sant, körs koden inuti if-blocket;
  • Om det första villkoret är falskt, går det vidare till nästa villkor, vilket är elif. Om elif-villkoret är sant, körs motsvarande elif-block;
  • Om den första elif är falsk, kan ytterligare en elif kontrolleras, och om den är sann körs dess respektive kodblock;
  • Om inget av if- eller elif-villkoren uppfylls (dvs. alla är falska), körs det sista else-blocket, vilket säkerställer att alltid ett kodblock körs.

Detta flöde säkerställer att endast det första sanna villkoret körs, vilket ger ett tydligt och effektivt sätt att hantera flera villkor. if-elif-else-strukturen undviker onödiga kontroller och endast ett kodblock körs från hela strukturen.

1. Vilken är fördelen med att använda if-elif-else istället för flera if-satser?

2. Vad kommer att skrivas ut från följande kod?

question mark

Vilken är fördelen med att använda if-elif-else istället för flera if-satser?

Vänligen välj det korrekta svaret

question mark

Vad kommer att skrivas ut från följande kod?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 1

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 3. Kapitel 1
some-alt