Logiske Operatorer i Python
Tidligere utforsket vi situasjoner som involverte én enkelt betingelse i if-setningen. Nå skal vi se nærmere på scenarier hvor vi må evaluere flere betingelser.
Nestede if-setninger
En tilnærming er å bruke nestede if-setninger, som vist i eksempelet:
123456steps_taken = 8000 calories_burned = 300 if steps_taken >= 5000: if calories_burned >= 500: print("Excellent work! You hit your daily fitness goals.")
Å stole mye på nestede if-betingelser regnes imidlertid ikke som beste praksis. En erfaren utvikler vil foretrekke å bruke logiske operatorer i stedet for å nøste betingelser.
Bruk av logiske operatorer
Logiske operatorer gjør det mulig å kombinere flere betingelser på en mer effektiv måte.
Python-språket har tre logiske 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.")
not-operatoren
not brukes på én betingelse og inverterer dens verdi.
1234steps_taken = 0 if not steps_taken: print("No steps recorded yet. Time to get moving!")
I Python-syntaks er hver "tom" verdi ekvivalent med False, og enhver "ikke-tom" verdi er ekvivalent med True. For eksempel:
- 0 er False, 1 er True;
- [] er False, [1] er True;
- "" er False, "a" er True;
- osv.
Logisk og
Betingelse med and fungerer kun hvis begge betingelsene er 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.")
Logisk eller
En betingelse med or gjelder hvis minst én av de to (eller flere) angitte betingelsene er True.
Anta at du ønsker å feire små seire. Hvis du oppnår minst ett av dine mål, skriv ut en motiverende melding.
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.")
Her oppfyller hydration_level betingelsen, så if-setningen kjøres. Husk at med operatoren or trenger kun én betingelse å være True.
1. I en treningsapp ønsker du å sjekke om en bruker oppfyller både sitt daglige skrittmål og kalorimål. Hvilken logisk operator bør du bruke?
2. Hvordan kan du sjekke om brukeren oppfyller minst ett av sine treningsmål?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 6.67
Logiske Operatorer i Python
Sveip for å vise menyen
Tidligere utforsket vi situasjoner som involverte én enkelt betingelse i if-setningen. Nå skal vi se nærmere på scenarier hvor vi må evaluere flere betingelser.
Nestede if-setninger
En tilnærming er å bruke nestede if-setninger, som vist i eksempelet:
123456steps_taken = 8000 calories_burned = 300 if steps_taken >= 5000: if calories_burned >= 500: print("Excellent work! You hit your daily fitness goals.")
Å stole mye på nestede if-betingelser regnes imidlertid ikke som beste praksis. En erfaren utvikler vil foretrekke å bruke logiske operatorer i stedet for å nøste betingelser.
Bruk av logiske operatorer
Logiske operatorer gjør det mulig å kombinere flere betingelser på en mer effektiv måte.
Python-språket har tre logiske 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.")
not-operatoren
not brukes på én betingelse og inverterer dens verdi.
1234steps_taken = 0 if not steps_taken: print("No steps recorded yet. Time to get moving!")
I Python-syntaks er hver "tom" verdi ekvivalent med False, og enhver "ikke-tom" verdi er ekvivalent med True. For eksempel:
- 0 er False, 1 er True;
- [] er False, [1] er True;
- "" er False, "a" er True;
- osv.
Logisk og
Betingelse med and fungerer kun hvis begge betingelsene er 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.")
Logisk eller
En betingelse med or gjelder hvis minst én av de to (eller flere) angitte betingelsene er True.
Anta at du ønsker å feire små seire. Hvis du oppnår minst ett av dine mål, skriv ut en motiverende melding.
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.")
Her oppfyller hydration_level betingelsen, så if-setningen kjøres. Husk at med operatoren or trenger kun én betingelse å være True.
1. I en treningsapp ønsker du å sjekke om en bruker oppfyller både sitt daglige skrittmål og kalorimål. Hvilken logisk operator bør du bruke?
2. Hvordan kan du sjekke om brukeren oppfyller minst ett av sine treningsmål?
Takk for tilbakemeldingene dine!