Mini framework de testes
Em projetos reais, você nunca executa código sem verificar se ele funciona como esperado. Testes manuais são lentos e propensos a erros. Uma função simples como testar() permite automatizar a checagem de resultados, dando feedback imediato se uma função passou ou falhou — exatamente como fazem frameworks como pytest, só que de forma minimalista.
O PROBLEMA
Crie testar(nome, resultado, esperado) que exibe PASSOU ou FALHOU.
EXEMPLO
✅ PASSOU: soma 2+3 ❌ FALHOU: soma 2+2
SOBRE O CONCEITO
A função testar deve receber três parâmetros: nome (um rótulo), resultado (o valor obtido) e esperado (o valor correto). Dentro dela, use == para comparar os dois valores — esse é o ponto crítico. Um erro comum é usar = (atribuição) em vez de == (comparação), o que em vez de verificar igualdade, altera o valor e sempre retorna verdadeiro (se o valor atribuído não for falso). Outro erro é comparar tipos diferentes sem conversão; por exemplo, '2' == 2 é False, causando falha inesperada. A estrutura if resultado == esperado: decide qual mensagem exibir. Com f-strings, você pode incluir o nome e os valores: print(f"{nome}: PASSOU") ou print(f"{nome}: FALHOU (esperado {esperado}, obtido {resultado})"). Ao encapsular essa lógica em uma função, você reutiliza o teste sem repetir código.
RESOLUÇÃO