Logikai
Logikai
Az alábbi kód a logikai
elágazást mutatja be:
a = True
b = True
c = False
d = False
#not a - Megfordítja/tagadja az állítást (True->False False->True)
#a and b - Ha mind két állítás True, akkor True. Ha egy vagy a többi állítás False, akkor False.
#a or b - Ha egyik már True, akkor True. Ha az össze False, csak akkor False.
print(a and b)
print(a and d)
print(a or b)
print(a or d)
print(c or d)
print(not a)
True
False
True
True
False
False
Az if/else és a switch/case után az egyik leggyakoribb elágazás az, amikor két vagy több állítást logikailag össze kell kapcsolni és az eredményt ki kell értékelni. Ezt úgynevezett logikai operátorokkal tehetjük meg.
A logikai operátorok között szerepel a not
, az and
és az or
. A not
operátor megfordítja az állítás igazságtartalmát, azaz True értékre False-t, False értékre True-t ad vissza.
Az and
operátor akkor ad vissza True értéket, ha mindkét állítás True, ellenkező esetben False értéket ad vissza.
Az or
operátor akkor ad vissza True értéket, ha legalább az egyik állítás True, ha mindkét állítás False, akkor False értéket ad vissza.
Ezek az operátorok nagyon hasznosak, amikor például egy feltétel két vagy több állítás kombinációjából adódik. A logikai operátorok használatával összetett feltételeket lehet megfogalmazni, amelyeknek az igazságtartalma meghatározza a kódfuttatás irányát.
A példakódban látható a not
, az and
és az or
operátorok működése különböző állításokkal. A kód eredménye True vagy False értékeket ad vissza az operátorok és az állítások eredményeként, amelyek alapján az elágazások vezérelhetők.
Szerkeszthető-e a háromszög?
a = int(input('Háromszög "a" oldala: '))
b = int(input('Háromszög "b" oldala: '))
c = int(input('Háromszög "c" oldala: '))
if a - b < c and b - c < a and c - a < b:
print("Szerkeszthető")
else:
print("Nem Szerkeszthető")
Háromszög "a" oldala: 10
Háromszög "b" oldala: 10
Háromszög "c" oldala: 30
Nem Szerkeszthető