Cosa sono gli operatori "and" e "or"?
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 |