Logiska Operatorer i Python
Tidigare undersökte vi situationer med ett enda villkor i if-satsen. Nu ska vi fördjupa oss i scenarier där vi behöver utvärdera flera villkor.
Nästlade if-satser
Ett tillvägagångssätt är att använda nästlade if-satser, som visas i exemplet:
123456steps_taken = 8000 calories_burned = 300 if steps_taken >= 5000: if calories_burned >= 500: print("Excellent work! You hit your daily fitness goals.")
Att förlita sig mycket på nästlade if-villkor anses dock inte vara bästa praxis. En erfaren utvecklare föredrar att använda logiska operatorer istället för att nästla villkor.
Användning av logiska operatorer
Logiska operatorer gör det möjligt att kombinera flera villkor på ett mer effektivt sätt.
Python-språket har tre logiska operatorer: not, and, or.
12345steps_taken = 8000 calories_burned = 300 if steps_taken >= 5000 and calories_burned >= 500: print("Excellent work! You hit your daily fitness goals.")
Operatorn not
not används på ett villkor och inverterar dess värde.
1234steps_taken = 0 if not steps_taken: print("No steps recorded yet. Time to get moving!")
I Python-syntax är varje "tomt" värde likvärdigt med False, och varje "icke-tomt" värde likvärdigt med True. Till exempel:
- 0 är False, 1 är True;
- [] är False, [1] är True;
- "" är False, "a" är True;
- osv.
Logiskt och
Villkor med and gäller endast om båda villkoren är True.
123456steps_taken = 8000 calories_burned = 600 hydration_level = 2 if steps_taken >= 5000 and calories_burned >= 500 and hydration_level >= 2: print("Amazing! You've achieved all your fitness goals for the day.")
Logiskt eller
Villkoret med or gäller om minst ett av de angivna villkoren är True.
Anta att du vill fira små framgångar. Om du uppnår minst ett av dina mål, skriv ut ett motiverande meddelande.
123456steps_taken = 8000 calories_burned = 200 hydration_level = 2 if steps_taken >= 10000 or calories_burned >= 500 or hydration_level >= 2: print("Great job! You're making progress on your fitness journey.")
Här uppfyller hydration_level villkoret, så if-satsen körs. Kom ihåg att med operatorn or behöver endast ett villkor vara True.
1. I en träningsapp vill du kontrollera om en användare uppnår sitt dagliga stegmål och kalorimål. Vilken logisk operator bör du använda?
2. Hur skulle du kontrollera om användaren uppnår minst ett av sina träningsmål?
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
Awesome!
Completion rate improved to 6.67
Logiska Operatorer i Python
Svep för att visa menyn
Tidigare undersökte vi situationer med ett enda villkor i if-satsen. Nu ska vi fördjupa oss i scenarier där vi behöver utvärdera flera villkor.
Nästlade if-satser
Ett tillvägagångssätt är att använda nästlade if-satser, som visas i exemplet:
123456steps_taken = 8000 calories_burned = 300 if steps_taken >= 5000: if calories_burned >= 500: print("Excellent work! You hit your daily fitness goals.")
Att förlita sig mycket på nästlade if-villkor anses dock inte vara bästa praxis. En erfaren utvecklare föredrar att använda logiska operatorer istället för att nästla villkor.
Användning av logiska operatorer
Logiska operatorer gör det möjligt att kombinera flera villkor på ett mer effektivt sätt.
Python-språket har tre logiska operatorer: not, and, or.
12345steps_taken = 8000 calories_burned = 300 if steps_taken >= 5000 and calories_burned >= 500: print("Excellent work! You hit your daily fitness goals.")
Operatorn not
not används på ett villkor och inverterar dess värde.
1234steps_taken = 0 if not steps_taken: print("No steps recorded yet. Time to get moving!")
I Python-syntax är varje "tomt" värde likvärdigt med False, och varje "icke-tomt" värde likvärdigt med True. Till exempel:
- 0 är False, 1 är True;
- [] är False, [1] är True;
- "" är False, "a" är True;
- osv.
Logiskt och
Villkor med and gäller endast om båda villkoren är True.
123456steps_taken = 8000 calories_burned = 600 hydration_level = 2 if steps_taken >= 5000 and calories_burned >= 500 and hydration_level >= 2: print("Amazing! You've achieved all your fitness goals for the day.")
Logiskt eller
Villkoret med or gäller om minst ett av de angivna villkoren är True.
Anta att du vill fira små framgångar. Om du uppnår minst ett av dina mål, skriv ut ett motiverande meddelande.
123456steps_taken = 8000 calories_burned = 200 hydration_level = 2 if steps_taken >= 10000 or calories_burned >= 500 or hydration_level >= 2: print("Great job! You're making progress on your fitness journey.")
Här uppfyller hydration_level villkoret, så if-satsen körs. Kom ihåg att med operatorn or behöver endast ett villkor vara True.
1. I en träningsapp vill du kontrollera om en användare uppnår sitt dagliga stegmål och kalorimål. Vilken logisk operator bör du använda?
2. Hur skulle du kontrollera om användaren uppnår minst ett av sina träningsmål?
Tack för dina kommentarer!