O que são operadores «e» e «ou»?
Ocasionalmente, você pode querer combinar expressões de teste para avaliar várias condições em uma if
instrução , elif
ou else
. Nesse caso, você usaria os operadores and
booleanos e or
.
O operador or
Você pode conectar duas expressões booleanas, ou testar, usando o operador booleano or
. Para que toda a expressão seja avaliada como True
, pelo menos uma das subexpressões deve ser verdadeira. Se nenhuma das subexpressões for verdadeira, toda a expressão será avaliada como False
. Por exemplo, na expressão a seguir, toda a expressão de teste é avaliada como True
, porque uma das condições nas subexpressões foi atendida:
a = 23
b = 34
if a == 34 or b == 34:
print(a + b)
Se ambas as subexpressões forem verdadeiras, toda a expressão de teste também será avaliada como True
.
Uma expressão booleana que usa or
tem a seguinte sintaxe:
sub-expression1 or sub-expression2
O operador and
Você também pode conectar duas expressões de teste usando o operador booleano and
. Ambas as condições na expressão de teste devem ser verdadeiras para que toda a expressão de teste seja avaliada como True
. Em qualquer outro caso, a expressão de teste é False
. No exemplo a seguir, toda a expressão de teste é avaliada como False
, porque apenas uma das condições nas subexpressões é verdadeira:
a = 23
b = 34
if a == 34 and b == 34:
print (a + b)
Uma expressão booleana que usa and
tem a seguinte sintaxe:
sub-expression1 and sub-expression2
A diferença entre and
e or
Para destacar a diferença entre os dois operadores booleanos, você pode usar uma tabela de verdade. Uma tabela verdade mostra o que toda a expressão de teste avalia com base nas duas subexpressões.
Aqui está a tabela de verdade para and
:
subexpression1 |
Operador | subexpression2 |
Result |
---|---|---|---|
True |
and |
True |
True |
True |
and |
False |
False |
False |
and |
True |
False |
False |
and |
False |
False |
Aqui está a tabela de verdade para or
:
subexpression1 |
Operador | subexpression2 |
Result |
---|---|---|---|
True |
or |
True |
True |
True |
or |
False |
True |
False |
or |
True |
True |
False |
or |
False |
False |