Laboratório — Classificador por regras

Laboratório guiado com execução, observação, testes e solução completa: Laboratório — Classificador por regras.

Laboratório — Classificador por regras

Por que este laboratório existe

Você vai implementar um classificador de desempenho com regras por faixa e testar cuidadosamente os limites.

Objetivo

Projetar if/elif/else corretos, legíveis e testados em fronteiras.

Importante: não tente terminar rápido. O objetivo é observar o que acontece em cada etapa. Se algo falhar, registre a entrada, a mensagem e a correção.

Preparação

  • Crie ft002-m04-lab/classificador.py.
  • Use notas de 0 a 10.
  • Antes de codificar, desenhe as faixas em papel.

Código inicial

nota = float(input("Nota de 0 a 10: "))
# Valide e classifique abaixo.

Procedimento passo a passo

  1. Valide a nota: valores abaixo de 0 ou acima de 10 são inválidos.
  2. Classifique nota >= 9 como “excelente”, >= 7 como “bom”, >= 5 como “em recuperação” e abaixo de 5 como “insuficiente”.
  3. Garanta que a validação aconteça antes da classificação.
  4. Teste -0.1, 0, 4.99, 5, 6.99, 7, 8.99, 9, 10 e 10.1.
  5. Registre em uma tabela o resultado esperado e o observado.
  6. Explique por que a condição >= 9 precisa vir antes de >= 7.

Uma solução completa para comparar depois da tentativa

Tente primeiro sem consultar esta seção. Depois compare a sua versão com a solução e identifique diferenças de raciocínio, não apenas diferenças de nomes.

nota = float(input("Nota de 0 a 10: "))

if nota < 0 or nota > 10:
    print("Nota inválida")
elif nota >= 9:
    print("Excelente")
elif nota >= 7:
    print("Bom")
elif nota >= 5:
    print("Em recuperação")
else:
    print("Insuficiente")

Resultado esperado

Cada entrada válida deve cair em exatamente uma faixa; entradas inválidas não devem receber uma classificação normal.

Checklist de validação

  • Consigo executar o programa do início ao fim.
  • Consigo explicar o papel de cada variável, condição, laço ou função que usei.
  • Testei pelo menos um caso normal, um caso de fronteira e um caso problemático quando aplicável.
  • Li e entendi qualquer mensagem de erro encontrada, em vez de apenas apagar a linha.
  • Meu código usa nomes que descrevem os dados e mantém entrada, regra e saída compreensíveis.

Desafio extra

Adicione uma segunda condição de presença mínima e explique quando usar regra composta em vez de mais faixas.

Critério de conclusão

Considere o laboratório concluído apenas quando você conseguir recriar a parte principal sem copiar e explicar por que cada etapa existe. “Funcionou uma vez” não é o mesmo que “eu entendi”.

Avaliação opcional

Avaliação com validação humana

Receba nota e feedback individual sobre esta atividade. Este serviço é opcional e não é necessário para concluir o curso ou receber o certificado gratuito.

Entrar para solicitar