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.
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 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.
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.")
Att använda elif gör koden mer läsbar och effektiv, eftersom inga fler villkor kontrolleras när ett villkor är uppfyllt.
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. Omelif-villkoret är sant, körs motsvarandeelif-block; - Om den första
elifär falsk, kan ytterligare enelifkontrolleras, och om den är sann 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 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?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal