Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Loogiset operaattorit | Booleanit ja vertailut
Tietotyypit Pythonissa

Loogiset operaattorit

Pyyhkäise näyttääksesi valikon

Ihmiset sanovat kyllä ja kyllä, kyllä tai ei, ei missään nimessä. Pythonissa loogiset operaattorit and, or ja not ilmaisevat nämä ajatukset muodollisesti ja tuottavat totuusarvoja (True/False), joita käytetään vertailujen yhteydessä if/while-rakenteissa.

Jokaisen operaattorin merkitys

Esiintymisjä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 tarkistukset onnistuvat:

123
age = 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ö

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

and ja or eivät aina palauta Boolean-arvoja True tai False. Sen sijaan ne palauttavat jonkin operandeistaan, ja Python lopettaa arvioinnin aikaisin (oikopolkuna) heti, kun lopputulos on varma.

  • A and B:

  • Jos A on epätosi, tulos on varmasti epätosi, joten Python oikopoluttaa ja palauttaa A:n (ilman että arvioi B:tä).

  • Jos A on tosi, lopputulos riippuu täysin B:stä, joten Python arvioi ja palauttaa B:n.

  • A or B:

  • Jos A on tosi, tulos on varmasti tosi, joten Python oikopoluttaa ja palauttaa A:n (ilman että arvioi B:tä).

  • Jos A on epätosi, lopputulos riippuu täysin B:stä, joten Python arvioi ja palauttaa B:n.

  • not X palauttaa aina varsinaisen Boolean-arvon: True tai False.

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äydennä aukot True tai False. Olkoon X = True, Y = False.

2. Mikä lause vastaa klassista logiikkaa "ei X eikä Y"?

3. Mitä lauseke palauttaa?

question-icon

Täydennä aukot True tai False. Olkoon X = True, Y = False.

X and Y
not X

X or Y

Klikkaa tai vedä ja pudota esineitä ja täytä tyhjät kohdat

question mark

Mikä lause vastaa klassista logiikkaa "ei X eikä Y"?

Valitse oikea vastaus

question mark

Mitä lauseke palauttaa?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 2. Luku 4
some-alt