Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Projeto] Faça como eu fiz: calculadora com lambda

soma = lambda x, y: x + y
subtrai = lambda x, y: x - y
multiplica = lambda x, y: x * y
divide = lambda x, y: x / y if y != 0 else "Erro: Divisão por zero"
x = float(input("Digite o primeiro número: "))
y = float(input("Digite o segundo número: "))
operacao = input("Escolha a operação (| + | - | * | / |): ")
if operacao == '+':
print(f"O resultado é: {soma(x, y)}")
elif operacao == '-':
print(f"O resultado é: {subtrai(x, y)}")
elif operacao == '*':
print(f"O resultado é: {multiplica(x, y)}")
elif operacao == '/':
print(f"O resultado é: {divide(x, y)}")
else:
print("Operação inválida")

Digite o primeiro número: 2
Digite o segundo número: 5
Escolha a operação (| + | - | * | / |): +
O resultado é: 7.0

1 resposta

Oi, Silvana! Como vai?

Gostei da forma como você utilizou funções lambda para cada operação da calculadora e também do tratamento para divisão por zero, que ajuda a evitar erros durante a execução. Além disso, o resultado apresentado demonstra que sua lógica está funcionando corretamente para a operação de soma.

Uma dica interessante para o futuro é utilizar um dicionário para associar operações às funções, deixando o código mais organizado e fácil de expandir. Veja este exemplo:

<pre><code>
operacoes = {
    '+': lambda x, y: x + y,
    '-': lambda x, y: x - y
}

print(operacoes['+'](2, 3))
</code></pre>

Neste código, o dicionário armazena as operações e executa a função correspondente com base na chave informada.

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