1
resposta

Faça como eu fiz: calculadora com lambda

operacoes = {
    "+" : lambda x, y: x + y,
    "-" : lambda x, y: x - y,
    "*" : lambda x, y: x * y,
    "/" : lambda x, y: x / y if y != 0 else "Erro. Divisão por 0."
}

num1 = float(input("Digite o primeiro número: "))
num2 = float(input("Digite o segundo número: "))
operacao = input("Escolha a operação (| + | - | * | / |): ") 

if operacao in operacoes:
    resultado = operacoes[operacao](num1, num2)
    if isinstance(resultado, (int, float)):
        print(f"Resultado: {resultado:.1f}")
    else:
        print(resultado)
else:
    print("Erro. Operador inválido.")

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Oi Rafaela, tudo bem? 😊

Seu código está excelente e demonstra um ótimo entendimento do uso de funções lambda e dicionários em Python. 🤔

A forma como você mapeou as operações a funções lambda é muito elegante e eficiente.
Isso torna o código mais conciso e fácil de manter.

A validação para divisão por zero diretamente na função lambda do operador de divisão é uma solução inteligente.

O uso de isinstance para verificar o tipo do resultado antes de formatar a saída é uma prática robusta.
Isso garante que a mensagem de erro seja exibida corretamente, sem tentar formatá-la como um número.

Continue explorando essas ferramentas, elas são muito poderosas! 😜

🎓 Para saber mais: