Corso di Python #6 i valori booleani

Sesta parte del corso python


Vediamo i

VALORI BOOLEANI 

Premessa:
Approfondite se volete il concetto di algebra di Boole:
https://it.wikipedia.org/wiki/Algebra_di_Boole


Vediamo anzitutto il suo datatype

>>> num = True
>>> print(type(num))
>>> <class 'bool'>



Facciamo qualche esempio sull'algebra booleana:
>>> num = 9 > 8
>>> print(um)
>>> True
E' vero che 9 sia maggiore di 8, quindi è vero.


>>> num = 5 > 8
>>> print(um)
>>> False
NON è  vero che 5 sia maggiore di 8, quindi è falso 

Adesso mescoliamo le condizioni di verità:
Approfondimento: https://it.wikipedia.org/wiki/Tabella_della_verit%C3%A0
Tratto da wikipedia:

 ∧  ∨      →  ← 
FFFFFVVV
FVFVVFVF
VFFVVFFV
VVVVFVVV
Legenda:
V = vero, F = falso
∧ = AND (congiunzione logica)
∨ = OR (disgiunzione logica)
 = XOR (OR esclusivo)
 = XNOR (NOR esclusivo)
→ = "se-allora" (implicazione logica)
← = "(allora)-se" (controimplicazione logica)
<↔>: se e soltanto se è logicamente equivalente a <>: XNOR (NOR esclusivo).


PQ   (P AND Q)

>>> p = False
>>> q = False
>>> res = p and q
>>> print(res)
>>> False

Come vediamo qui:

 ∧  ∨      →  ← 
FFFFFVVV
FVFVVFVF
VFFVVFFV
VVVVFVVV


Q   (P OR Q)

>>> p = False
>>> q = True
>>> res = p and q
>>> print(res)
>>> True

Come vediamo qui:

 ∧  ∨      →  ← 
FFFFFVVV
FVFVVFVF
VFFVVFFV
VVVVFVVV


∧ Q   (P XOR Q)

>>> p = False
>>> q = True
>>> res = p ^ q
>>> print(res)
>>> True

Come vediamo qui:

 ∧  ∨      →  ← 
FFFFFVVV
FVFVVFVF
VFFVVFFV
VVVVFVVV




E cosi via:

   Q   (P XNOR Q)

Cogliamo tuttavia  la palla al balzo per introdurre il concetto di  if:

p = False
q = False
res = (p ^ q) #xor
print(res)
if res == False: # ovvero = se non è xor, quindi è xnor
    print("Xnor")
else:
    print('Non xnor')
>>> Xnor