Solucionado (ver solução)

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!

Solucionado
(ver solução)
2
respostas

calculadora com lambda - Solução

# Calculador com a função 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: "))

operador = input("Escolha a operação (| + | - | * | / |): ") 

if operador == "+":
  print(f"O Resultado é: {soma(x, y)}")
elif operador == "-":
  print(f"O Resultado é: {subtrai(x, y)}")
elif operador == "*":
  print(f"O Resultado é: {multiplica(x, y)}")
elif operador == "/":
  print(f"O Resultado é: {divide(x, y)}")
else:
  print("Operação inválida")



2 respostas
solução!

Olá, Estudante! Tudo bem?

A sua atividade sobre calculadora com lambda ficou bem organizada e mostra um bom uso de funções lambda para separar cada operação matemática de forma simples e legível.

O seu código usa bem a ideia de criar pequenas funções para soma, subtração, multiplicação e divisão, além de tratar a divisão por zero, o que deixa a solução mais segura. Uma dica para evoluir esse exercício é criar um dicionário com os operadores e as funções, assim você reduz a quantidade de if e elif e deixa a calculadora mais fácil de expandir depois.

Qual outra melhoria você pensaria em adicionar nessa calculadora, como repetir operações ou validar entradas inválidas?

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

Olá, acredito que essa melhoria poderia ser implementada da seguinte forma, abaixo do código original, adicionar:


continuar = input("Deseja realizar outra operação? (s/n): ").lower()
    if continuar != "s":
        print("Encerrando a calculadora.")
        break