elif e múltiplas faixas
Objetivo da aula
Modelar decisões com várias categorias ordenadas.
Regra desta aula: vamos assumir que você nunca viu este assunto antes. Nenhum termo importante será usado sem explicação e todo exemplo deve ser entendido linha por linha, não apenas copiado.
Começando do zero
elif permite testar várias alternativas em sequência. O detalhe mais importante é a ordem: Python testa de cima para baixo e executa o primeiro ramo cuja condição for verdadeira. Depois disso, os demais ramos da cadeia são ignorados.
Uma imagem mental para entender
Imagine uma fila de filtros. A pessoa passa pelo primeiro filtro que combinar com ela e não continua procurando outra categoria. Se você colocar uma regra muito ampla antes de uma regra mais específica, a ampla “captura” casos que você talvez quisesse classificar de outro jeito.
Conceitos essenciais, sem pular etapas
Cadeia exclusiva
if/elif/else escolhe no máximo um ramo.
Ordem das faixas
Em classificações, condições mais específicas ou limites mais altos frequentemente precisam vir antes das mais amplas.
Limites
Os operadores > e >= mudam o comportamento exatamente no valor de fronteira. Teste esses pontos explicitamente.
else final
Pode capturar todos os casos que não satisfizeram nenhum teste anterior.
Modelo mental
VALOR → TESTE 1 → TESTE 2 → TESTE 3 → PRIMEIRO VERDADEIRO DEFINE O RAMO
Exemplo 1 — primeiro veja o programa inteiro
nota = 9.2
if nota >= 9:
conceito = "A"
elif nota >= 7:
conceito = "B"
elif nota >= 5:
conceito = "C"
else:
conceito = "D"
print(conceito)
Agora vamos ler linha por linha
- A nota 9.2 satisfaz
nota >= 9; portanto o primeiro ramo é escolhido. - Os
elifseguintes nem precisam definir o resultado para essa execução. - Uma nota 8 falharia no primeiro teste e entraria em
nota >= 7. - O
elsecobre notas abaixo de 5, assumindo que outra validação já garantiu uma faixa plausível.
Saída esperada
A
Exemplo 2 — o mesmo conceito em outra situação
idade = 12
if idade >= 18:
grupo = "adulto"
elif idade >= 13:
grupo = "adolescente"
else:
grupo = "criança"
print(grupo)
Novamente, as faixas mais altas aparecem primeiro. A mesma estrutura pode classificar valores em categorias mutuamente exclusivas.
Experimento guiado
Não pule esta parte. Programação só começa a fazer sentido quando você prevê um resultado, executa e compara a previsão com o que realmente aconteceu.
- Teste o primeiro exemplo com 9, 8.9, 7, 5 e 4.9.
- Inverta propositalmente os dois primeiros testes e observe como isso pode quebrar a classificação.
- Desenhe as faixas em uma linha numérica antes de codificar.
- Inclua testes exatamente nos limites para evitar erros de fronteira.
Mini desafio
Classifique uma temperatura em “quente” (>= 30), “agradável” (>= 20), “fria” (>= 10) e “muito fria” (abaixo de 10).
Solução comentada
temperatura = 18
if temperatura >= 30:
faixa = "quente"
elif temperatura >= 20:
faixa = "agradável"
elif temperatura >= 10:
faixa = "fria"
else:
faixa = "muito fria"
print(faixa)
Depois de executar a solução, altere pelo menos um valor e explique por que o novo resultado mudou. Se você só copiou e não consegue explicar cada linha, refaça o desafio em uma versão menor.
Erros comuns e por que acontecem
- Colocar uma condição ampla antes da específica, como
nota >= 7antes denota >= 9. - Esquecer de testar valores exatamente nos limites.
- Criar vários
ifindependentes e permitir que múltiplas categorias sejam aplicadas quando deveria haver apenas uma.
Cheque se você realmente entendeu
O que acontece após o primeiro ramo verdadeiro?
Resposta: Os demais ramos da mesma cadeia são ignorados.
Por que nota >= 9 deve vir antes de nota >= 7?
Resposta: Porque toda nota >= 9 também é >= 7; a condição mais ampla capturaria o caso cedo demais.
Qual teste é essencial em regras por faixa?
Resposta: Testar valores de fronteira, exatamente nos limites.
Resumo em linguagem simples
Nesta aula, o ponto central foi elif e múltiplas faixas. Tente explicar o modelo VALOR → TESTE 1 → TESTE 2 → TESTE 3 → PRIMEIRO VERDADEIRO DEFINE O RAMO sem olhar a tela. Depois, escreva um exemplo próprio menor que os apresentados. Esse exercício de explicação é parte do aprendizado, não um extra.
Conexão com a próxima aula
Na próxima aula, Condições compostas e aninhamento, vamos aproveitar exatamente o que foi construído aqui. Você não precisa memorizar tudo; precisa conseguir reconhecer o conceito e reconstruí-lo com raciocínio e testes.