Kursinnehåll
Villkorssatser i Python
Villkorssatser i Python
Introduktion till Python if-elif-else-Satser
if-elif-else
-satsen är ett kraftfullt verktyg i Python som låter dig 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 bara 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, så hoppar man över resten av villkoren, vilket förbättrar effektiviteten. I motsats till detta resulterar användningen av flera if
-satser i att alla villkor utvärderas oberoende, vilket kan leda till onödiga kontroller och redundant kod.
Låt oss spåra 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.
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, ä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 fortfarande om de är nära målet eller behöver mer vila.
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
hjälper till att göra koden mer läsbar och effektiv, eftersom när ett villkor är uppfyllt behöver inga fler villkor kontrolleras.
Detta diagram visualiserar flödet av en if-elif-else
beslutsstruktur i Python. Processen börjar med att utvärdera det initiala if
-villkoret:
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
. Omelif
-villkoret är sant, körs motsvarandeelif
-block;Om den första
elif
är falsk, kan en annanelif
kontrolleras, och om den är sant, körs dess respektive kodblock;Om inget av
if
- ellerelif
-villkoren uppfylls (dvs. alla är falska), körs det sistaelse
-blocket, vilket säkerställer att ett kodblock alltid körs.
Detta flöde säkerställer att endast det första sanna villkoret körs, vilket ger ett rent och effektivt sätt att hantera flera villkor. if-elif-else
-strukturen undviker redundanta kontroller, och endast ett kodblock körs från hela strukturen.
1. Vad ä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?
Tack för dina kommentarer!