1
resposta

Calculadora com lambda

def executar_calculadora():
    n1 = float(input("Digite o primeiro número: ").replace(",", "."))
    n2 = float(input("Digite o segundo número: ").replace(",", "."))
    operador = input("Digite o operador (+, -, *, /): ")

    operadores = {
        "+": 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ãõ por zero!"
    }

    operacao = operadores.get(operador, lambda x, y: "Operador inválido!")
    resultado = operacao(n1,n2)
    print(f"Resultado: {resultado}")

if __name__ == "__main__":
    executar_calculadora()
1 resposta

Oi, Luísa! Como vai?

Gostei bastante da forma como você utilizou o dicionário operadores com funções lambda, porque isso deixa o código mais organizado e fácil de expandir futuramente. Também foi muito bom tratar a divisão por zero e usar o .replace(",", ".") para melhorar a entrada de números.

Uma dica interessante para o futuro é usar try e except para evitar erros caso a pessoa digite algo que não seja número. Veja este exemplo:


try:
    numero = float(input("Digite um numero: ").replace(",", "."))
    print(numero)
except ValueError:
    print("Entrada invalida!")

Esse código tenta converter o valor digitado para float e mostra uma mensagem caso a entrada seja inválida.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!