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:
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ö
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
Aon epätosi, tulos on varmasti epätosi, joten Python oikopoluttaa ja palauttaaA:n (ilman että arvioiB:tä). -
Jos
Aon tosi, lopputulos riippuu täysinB:stä, joten Python arvioi ja palauttaaB:n. -
A or B: -
Jos
Aon tosi, tulos on varmasti tosi, joten Python oikopoluttaa ja palauttaaA:n (ilman että arvioiB:tä). -
Jos
Aon epätosi, lopputulos riippuu täysinB:stä, joten Python arvioi ja palauttaaB:n. -
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äydennä aukot True tai False. Olkoon X = True, Y = False.
2. Mikä lause 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