Conteúdo das disciplinas do Ibmec ministradas pelo Prof. Clayton J A Silva
Operador | Descrição |
---|---|
> | Maior |
< | Menor |
>= | Maior ou igual |
<= | Menor ou igual |
!= | Diferente |
== | Igual |
3 > 2
, que compara o número 3 com o número 2.
Experimente escrever a expressão no modo interativo e verificar o resultado.x > 3
; e expressões aritméticas, por exemplo, x + 3 <= 4 + y
. O interpretador resolve primeiro as expressões aritméticas (os operadores aritméticos têm precedência sobre os lógicos).As instruções compostas contêm (grupos de) outras instruções; Elas afetam ou controlam a execução dessas outras instruções de alguma maneira. Em geral, instruções compostas abrangem múltiplas linhas.
Em Python, como já tratamos, as instruções do script são tratadas, na sequência apresentada, uma após a outra. As instruções compostas possibilitam que essa sequência ordenada não seja cumprida, sob determinadas condições, razão pela qual são chamadas de instruções de controle de fluxo.
Uma das instruções compostas é a instrução condicional simples - executa uma ação (ou conjunto de ações) dependendo do resultado da avaliação de uma expressão lógica (condição) ser verdadeiro ou falso.
if <expressão logica>:
<instrucção ou bloco de instruções>
Todas as instruções compostas em Python possuem um cabeçalho seguido do caractere :
.
O fim do cabeçalho (delimitado por :) determina o início do bloco de instruções internas à instrução composta.
Os limites da instrução ou do bloco de instruções internas (que são identificadas pela indentação) são detectados automaticamente pelo interpretador.
if a>b:
maior = a
menor = b
A expressão lógica a>b
pode resultar True ou False, dependendo do valor de a e de b.
Se o valor de a for maior do que b a expressão retornará como resultado True e as instruções dentro da indentação serão executadas.
Em caso contrário, o interpretador irá a executar a instrução após o bloco de instruções indentado.
Observação: Em certas ocasiões, as instruções compostas podem ficar muito longas, o que prejudica a legibilidade do código.
Nesse caso, o interpretador Python admitie o uso de \
- barra invertida - para quebrar linha. Por exemplo,
if a > b and a > c \
and a > d:
print(a)
é uma forma válida.
No exemplo, utiliza-se um operador lógico da operação lógica de conjunção - and. São outros operadores logicos, além daqueles destinados à comparação:
Operador | Operação |
---|---|
and | Conjunção |
or | Disjunção |
not | Negação |
Os operadores lógicos propiciam construir expressões lógicas compostas e o resultado das operações é dada por
(a) Operação lógica de CONJUNÇÃO - AND
O resultado depende dos valores lógicos de p e de q, definido pela tabela
p | q | p and q |
---|---|---|
False | False | False |
False | True | False |
True | False | False |
True | True | True |
(b) Operação lógica de DISJUNÇÃO - OR
O resultado depende dos valores lógicos de p e de q, definido pela tabela
p | q | p aor q |
---|---|---|
False | False | False |
False | True | True |
True | False | True |
True | True | True |
(c) Operação de inverção lógica, NEGAÇÃO, - NOT
O resultado depende dos valores lógicos de p, definido pela tabela
p | not p |
---|---|
False | True |
True | False |
A instrução condicional composta - executa uma ação (ou conjunto de ações) dependendo do resultado da avaliação de uma expressão lógica (condição) ser verdadeiro e outra ação (ou conjunto de ações) se for falso.
if <expressão logica>:
<instrucao ou bloco 1 de instruções>
else:
<instrucao ou bloco 2 de instruções>
if a>b:
maior = a
menor = b
else:
maior = b
menor = a
Obviamente admite-se que os valores de a e b são diferentes.
Seja o seguinte uso de condicional composta
if a>100:
print('maior do que 100')
else:
if a>50:
print('a maior do que 50')
else:
print('a menor ou igual a 50')
O script possui dois comandos condicionais compostos if…else - a indentação evidencia que
if a>50:
print('a maior do que 50')
else:
print('a menor ou igual a 50')
está interno a
if a>100:
print('maior do que 100')
else:
...
Diz-se que os ifs estão aninhados.
O Python possui uma instrução composta cuja sintaxe é a seguinte:
if <expressao logica 1>:
<instrucao ou bloco 1 de instruções>
elif <expressao logica 2>:
<instrucao ou bloco 2 de instruções>
...
elif <expressao logica n>:
<instrucao ou bloco de instruções n>
else:
<instrucao ou bloco de instruções n+1>
, cujo funcionamento é o seguinte:
match <variável ou expressão>:
case <valor 1>:
<bloco 1 de instruções>
case <valor 2>:
<bloco 2 de instruções>
...
case _:
<bloco n de instruções>
A execução ocorre da seguinte maneira
|
, por exemplo, case <valor 1> | <valor 2>:
.