Cosa sono gli operatori "and" e "or"?

Completato

A volte, è possibile combinare espressioni di test per restituire il valore di più condizioni in un'unica istruzione if, elif o else. In questo caso, si useranno gli operatori booleani and e or.

Operatore or

È possibile collegare due espressioni booleane o di test tramite l'operatore booleano or. Affinché l'intera espressione restituisca il valore True, almeno una delle sottoespressioni deve essere True. Se nessuna delle sottoespressioni è True, l'intera espressione restituisce il valore False. Nell'espressione seguente, ad esempio, l'intera espressione di test restituisce il valore True, poiché una delle condizioni nelle sottoespressioni è stata soddisfatta:

a = 23
b = 34
if a == 34 or b == 34:
    print(a + b)

Se entrambe le sottoespressioni sono True, anche l'intera espressione di test restituisce il valore True.

Un'espressione booleana che usa or ha la sintassi seguente:

sub-expression1 or sub-expression2

Operatore and

È inoltre possibile collegare due espressioni di test tramite l'operatore booleano and. Entrambe le condizioni nell'espressione di test devono essere True affinché l'intera espressione possa restituire il valore True. In qualsiasi altro caso, l'espressione di test è False. Nell'esempio seguente, l'intera espressione di test restituisce il valore False, poiché soltanto una delle condizioni nelle sottoespressioni è True:

a = 23
b = 34
if a == 34 and b == 34:
    print (a + b)

Un'espressione booleana che usa and ha la sintassi seguente:

sub-expression1 and sub-expression2

Differenza tra and e or

Per evidenziare la differenza tra i due operatori booleani, è possibile usare una tabella di verità. Una tabella di verità mostra ciò che l'intera espressione di test restituisce in base alle due sottoespressioni.

Di seguito è riportata la tabella di verità per and:

subexpression1 Operatore subexpression2 Risultato
True and True True
True and False False
False and True False
False and False False

Di seguito è riportata la tabella di verità per or:

subexpression1 Operatore subexpression2 Risultato
True or True True
True or False True
False or True True
False or False False