PythonFunçõesdesafio

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

Mais exercícios de Funções

PYF026D · DesafioSistema de validaçãoPYF029D · DesafioAnalisador de textoPYF006B · BásicoFunção booleanaPYF009B · BásicoChamar função dentro de função
Ver todos os exercícios de Python