Programação · Ensino fundamental · aula 3 de 5 · ~2 min de leitura
Condições
Como fazer o programa tomar decisões com se, senão e os operadores de comparação.
Esta aula ainda aguarda revisão da comunidade. Achou um erro? Sugira uma correção.
Até aqui, os programas executavam todas as linhas, de cima para baixo. Com condições, o programa escolhe um caminho.
Se... senão
nota = 7
if nota >= 6:
print("Aprovado")
else:
print("Reprovado")
Lê-se: se a nota for maior ou igual a 6, mostre "Aprovado"; senão, mostre "Reprovado".
ifsignifica "se".elsesignifica "senão".- Os dois-pontos (
:) abrem um bloco. - As linhas do bloco ficam recuadas (em geral, 4 espaços). É pelo recuo que o Python sabe o que pertence ao
ife o que pertence aoelse.
Comparações
Toda condição é uma pergunta cuja resposta é verdadeiro (True) ou falso (False).
| Operador | Significado | Exemplo | Resultado |
|---|---|---|---|
== | igual a | 5 == 5 | True |
!= | diferente de | 5 != 5 | False |
> | maior que | 7 > 3 | True |
< | menor que | 7 < 3 | False |
>= | maior ou igual | 6 >= 6 | True |
<= | menor ou igual | 4 <= 2 | False |
O erro mais comum de quem começa é confundir = com ==. Um sinal guarda um valor. Dois sinais comparam.
Mais de dois caminhos
Quando há várias possibilidades, use elif (abreviação de else if, "senão, se"):
if nota >= 9:
print("Excelente")
elif nota >= 6:
print("Aprovado")
elif nota >= 4:
print("Recuperação")
else:
print("Reprovado")
O computador testa de cima para baixo e executa apenas o primeiro bloco cuja condição for verdadeira. Com nota 9,5, ele mostra "Excelente" e pula todo o resto, mesmo que 9,5 também seja maior que 6.
Combinando condições
and(e): verdadeiro só quando as duas partes são verdadeiras.or(ou): verdadeiro quando pelo menos uma é verdadeira.not(não): inverte o resultado.
if idade >= 12 and idade < 18:
print("Adolescente")
if dia == "sábado" or dia == "domingo":
print("Fim de semana")
Pratique
Escreva, em pseudocódigo ou em Python, um programa que recebe um número e diz se ele é positivo, negativo ou zero. Quantos caminhos ele precisa ter?
Teste o que você aprendeu
1. Qual operador testa se dois valores são iguais?
2. Com idade = 15, quanto vale a expressão idade >= 12 and idade < 18?
3. Em Python, como o computador sabe quais linhas pertencem a um if?
Fontes desta aula
- André Forbellone e Henri Eberspächer. Lógica de programação: a construção de algoritmos e estruturas de dados (2005).
- Python Software Foundation. O tutorial de Python.