Logiske Operatorer i Python
Tidligere undersøgte vi situationer, hvor en enkelt betingelse blev brugt i if-sætningen. Nu skal vi se på scenarier, hvor det er nødvendigt at evaluere flere betingelser.
Indlejrede if-sætninger
En metode er at anvende indlejrede if-sætninger, som vist i eksemplet:
123456steps_taken = 8000 calories_burned = 300 if steps_taken >= 5000: if calories_burned >= 500: print("Excellent work! You hit your daily fitness goals.")
Dog anses det ikke for god praksis at benytte mange indlejrede if-betingelser. En erfaren udvikler vil foretrække at anvende logiske operatorer frem for at indlejre betingelser.
Brug af logiske operatorer
Logiske operatorer gør det muligt at kombinere flere betingelser mere effektivt.
Python-sproget 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.")
Operatoren not
not anvendes på én betingelse og inverterer dens værdi.
1234steps_taken = 0 if not steps_taken: print("No steps recorded yet. Time to get moving!")
I Python-syntaks svarer hver "tom" værdi til False, og enhver "ikke-tom" værdi svarer til 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 betingelser 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 or
Betingelse med or gælder, hvis mindst én af de to (eller flere) angivne betingelser er True.
Antag, at du ønsker at fejre små sejre. Hvis du opfylder mindst ét af dine mål, udskriv en motiverende besked.
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 opfylder hydration_level betingelsen, så if-sætningen udføres. Husk, at med or-operatoren behøver kun én betingelse at være True.
1. I en fitness tracker-app ønsker du at kontrollere, om en bruger opfylder både deres daglige skridtmål og kaloriemål. Hvilken logisk operator skal du bruge?
2. Hvordan ville du kontrollere, om brugeren opfylder mindst ét af deres fitnessmål?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain the difference between 'and' and 'or' with more examples?
How does the 'not' operator work with complex conditions?
Can you show how to combine all three logical operators in one statement?
Awesome!
Completion rate improved to 6.67
Logiske Operatorer i Python
Stryg for at vise menuen
Tidligere undersøgte vi situationer, hvor en enkelt betingelse blev brugt i if-sætningen. Nu skal vi se på scenarier, hvor det er nødvendigt at evaluere flere betingelser.
Indlejrede if-sætninger
En metode er at anvende indlejrede if-sætninger, som vist i eksemplet:
123456steps_taken = 8000 calories_burned = 300 if steps_taken >= 5000: if calories_burned >= 500: print("Excellent work! You hit your daily fitness goals.")
Dog anses det ikke for god praksis at benytte mange indlejrede if-betingelser. En erfaren udvikler vil foretrække at anvende logiske operatorer frem for at indlejre betingelser.
Brug af logiske operatorer
Logiske operatorer gør det muligt at kombinere flere betingelser mere effektivt.
Python-sproget 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.")
Operatoren not
not anvendes på én betingelse og inverterer dens værdi.
1234steps_taken = 0 if not steps_taken: print("No steps recorded yet. Time to get moving!")
I Python-syntaks svarer hver "tom" værdi til False, og enhver "ikke-tom" værdi svarer til 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 betingelser 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 or
Betingelse med or gælder, hvis mindst én af de to (eller flere) angivne betingelser er True.
Antag, at du ønsker at fejre små sejre. Hvis du opfylder mindst ét af dine mål, udskriv en motiverende besked.
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 opfylder hydration_level betingelsen, så if-sætningen udføres. Husk, at med or-operatoren behøver kun én betingelse at være True.
1. I en fitness tracker-app ønsker du at kontrollere, om en bruger opfylder både deres daglige skridtmål og kaloriemål. Hvilken logisk operator skal du bruge?
2. Hvordan ville du kontrollere, om brugeren opfylder mindst ét af deres fitnessmål?
Tak for dine kommentarer!