elif e múltiplas faixas

Modelar decisões com várias categorias ordenadas.

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 elif seguintes nem precisam definir o resultado para essa execução.
  • Uma nota 8 falharia no primeiro teste e entraria em nota >= 7.
  • O else cobre 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.

  1. Teste o primeiro exemplo com 9, 8.9, 7, 5 e 4.9.
  2. Inverta propositalmente os dois primeiros testes e observe como isso pode quebrar a classificação.
  3. Desenhe as faixas em uma linha numérica antes de codificar.
  4. 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 >= 7 antes de nota >= 9.
  • Esquecer de testar valores exatamente nos limites.
  • Criar vários if independentes 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.