Loogiset Operaattorit
Ihmiset sanovat "kyllä ja kyllä", "kyllä tai ei", "ehdottomasti ei". Pythonissa loogiset operaattorit and, or ja not ilmaisevat nämä ajatukset muodollisesti ja tuottavat totuusarvoja (True/False), joita käytät vertailujen yhteydessä if- ja while-rakenteissa.
Mitä kukin operaattori tarkoittaa
Eteisjärjestys
not sitoo tiukemmin kuin and, joka sitoo tiukemmin kuin or (not > and > or). Käytä sulkuja, jos olet epävarma.
Esimerkiksi age >= 18 and has_id on True vain, jos molemmat ehdot täyttyvät:
123age = 21 has_id = True print(age >= 18 and has_id) # True
Totuustaulu
Totuustaulu esittää kaikki mahdolliset syötteiden totuusarvot ja näyttää loogisen lausekkeen tuloksen. Se on tiivis tapa tarkastella logiikkaa ilman koodin suorittamista.
Taulukon käyttäminen
Jos X on False ja Y on True, niin X and Y on False, X or Y on True ja not X on True.
Paluuarvot ja oikopolut (yhdessä)
and ja or eivät aina palauta sanoja True/False, vaan ne palauttavat jonkin operandeistaan, ja Python voi lopettaa arvioinnin aikaisemmin, kun tulos on selvillä.
-
A and B: -
Jos
Aon epätosi (falsey), koko lauseke on epätosi ja tulos onA(Python ei arvioiB:tä); -
Jos
Aon tosi (truthy), tulos riippuuB:stä ja lauseke arvioituu arvoonB. -
A or B: -
Jos
Aon tosi (truthy), lauseke on tosi ja tulos onA(Python ei arvioiB:tä); -
Jos
Aon epätosi (falsey), tulos riippuuB:stä ja lauseke arvioituu arvoonB. -
not Xpalauttaa aina varsinaisen Boolean-arvon:TruetaiFalse.
1234567891011121314151617# Choosing a display name for a user profile username = "" # user didn't set a custom name print(username or "Guest") # "Guest" → fallback to default name username = "Alice" print(username or "Guest") # "Alice" → custom name is used # Checking login attempts and access permissions login_attempts = 0 access_level = 123 print(login_attempts and access_level) # 0 → login not yet attempted login_attempts = 5 print(login_attempts and access_level) # 123 → user has access after attempts # Checking empty and non-empty values print(not 0, not "Hello") # True False → 0 is falsey, non-empty string is truthy
1. Täytä tyhjät kohdat käyttämällä True tai False. Olkoon X = True, Y = False.
2. Mikä väitteistä vastaa klassista logiikkaa "ei X eikä Y"?
3. Mitä lauseke palauttaa?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain what "short-circuiting" means in more detail?
Can you give more real-life examples of using these logical operators?
How do I know if a value is considered "truthy" or "falsey" in Python?
Awesome!
Completion rate improved to 3.45
Loogiset Operaattorit
Pyyhkäise näyttääksesi valikon
Ihmiset sanovat "kyllä ja kyllä", "kyllä tai ei", "ehdottomasti ei". Pythonissa loogiset operaattorit and, or ja not ilmaisevat nämä ajatukset muodollisesti ja tuottavat totuusarvoja (True/False), joita käytät vertailujen yhteydessä if- ja while-rakenteissa.
Mitä kukin operaattori tarkoittaa
Eteisjärjestys
not sitoo tiukemmin kuin and, joka sitoo tiukemmin kuin or (not > and > or). Käytä sulkuja, jos olet epävarma.
Esimerkiksi age >= 18 and has_id on True vain, jos molemmat ehdot täyttyvät:
123age = 21 has_id = True print(age >= 18 and has_id) # True
Totuustaulu
Totuustaulu esittää kaikki mahdolliset syötteiden totuusarvot ja näyttää loogisen lausekkeen tuloksen. Se on tiivis tapa tarkastella logiikkaa ilman koodin suorittamista.
Taulukon käyttäminen
Jos X on False ja Y on True, niin X and Y on False, X or Y on True ja not X on True.
Paluuarvot ja oikopolut (yhdessä)
and ja or eivät aina palauta sanoja True/False, vaan ne palauttavat jonkin operandeistaan, ja Python voi lopettaa arvioinnin aikaisemmin, kun tulos on selvillä.
-
A and B: -
Jos
Aon epätosi (falsey), koko lauseke on epätosi ja tulos onA(Python ei arvioiB:tä); -
Jos
Aon tosi (truthy), tulos riippuuB:stä ja lauseke arvioituu arvoonB. -
A or B: -
Jos
Aon tosi (truthy), lauseke on tosi ja tulos onA(Python ei arvioiB:tä); -
Jos
Aon epätosi (falsey), tulos riippuuB:stä ja lauseke arvioituu arvoonB. -
not Xpalauttaa aina varsinaisen Boolean-arvon:TruetaiFalse.
1234567891011121314151617# Choosing a display name for a user profile username = "" # user didn't set a custom name print(username or "Guest") # "Guest" → fallback to default name username = "Alice" print(username or "Guest") # "Alice" → custom name is used # Checking login attempts and access permissions login_attempts = 0 access_level = 123 print(login_attempts and access_level) # 0 → login not yet attempted login_attempts = 5 print(login_attempts and access_level) # 123 → user has access after attempts # Checking empty and non-empty values print(not 0, not "Hello") # True False → 0 is falsey, non-empty string is truthy
1. Täytä tyhjät kohdat käyttämällä True tai False. Olkoon X = True, Y = False.
2. Mikä väitteistä vastaa klassista logiikkaa "ei X eikä Y"?
3. Mitä lauseke palauttaa?
Kiitos palautteestasi!