Logische Operatoren in Python
Veeg om het menu te tonen
Eerder hebben we situaties onderzocht waarbij één enkele voorwaarde in de if-instructie werd gebruikt. Nu gaan we in op scenario's waarin we meerdere voorwaarden moeten evalueren.
Geneste if-instructies
Een benadering is het gebruik van geneste if-instructies, zoals aangetoond in het voorbeeld:
123456steps_taken = 8000 calories_burned = 300 if steps_taken >= 5000: if calories_burned >= 500: print("Excellent work! You hit your daily fitness goals.")
Het veelvuldig gebruik van geneste if-voorwaarden wordt echter niet als best practice beschouwd. Een ervaren ontwikkelaar geeft de voorkeur aan het gebruik van logische operatoren in plaats van het nesten van voorwaarden.
Gebruik van logische operatoren
Logische operatoren maken het mogelijk om meerdere voorwaarden efficiënter te combineren.
De Python-taal heeft drie logische operatoren: 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.")
De not-operator
not wordt toegepast op één voorwaarde en keert de waarde daarvan om.
1234steps_taken = 0 if not steps_taken: print("No steps recorded yet. Time to get moving!")
In de Python-syntaxis is elke "lege" waarde gelijk aan False, en elke "niet-lege" waarde gelijk aan True. Bijvoorbeeld:
- 0 is False, 1 is True;
- [] is False, [1] is True;
- "" is False, "a" is True;
- enzovoort.
Logisch en
Voorwaarde met and werkt alleen als beide voorwaarden True zijn.
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.")
Logisch of
Voorwaarde met or werkt als minstens één van de twee (of meer) opgegeven voorwaarden True is.
Stel dat je kleine successen wilt vieren. Als je ten minste één van je doelen behaalt, geef dan een motiverende boodschap weer.
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.")
Hier voldoet het hydration_level aan de voorwaarde, dus wordt de if-instructie uitgevoerd. Onthoud dat bij de or-operator slechts één voorwaarde True hoeft te zijn.
1. In een fitness tracker-app wil je controleren of een gebruiker zowel zijn dagelijkse stappendoel als calorieëndoel behaalt. Welke logische operator moet je gebruiken?
2. Hoe controleer je of de gebruiker aan minstens één van zijn fitnessdoelen voldoet?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.