operacoes = {
'+': lambda a, b: a + b,
'-': lambda a, b: a - b,
'*': lambda a, b: a * b,
'/': lambda a, b: a / b if b != 0 else "Erro: divisão por zero"
}
def calcular(a, b, operador):
if operador in operacoes:
return operacoes[operador](a, b)
return "Operador inválido"
a = float(input("Digite o primeiro número: "))
b = float(input("Digite o segundo número: "))
op = input("Escolha a operação (| + | - | * | / |): ")
resultado = calcular(a, b, op)
print(f"O resultado é: {resultado:.0f}" if isinstance(resultado, float) else f"O resultado é: {resultado}")
Cada operador é uma chave que aponta para uma função lambda. Isso evita um longo bloco de if/elif.
Chamando a operação escolhida:
operacoes[operador](a, b)
Busca a lambda pelo operador digitado e já a executa com os dois números.