1
resposta

[Projeto] 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")

1 resposta

Olá, Filipe! Como vai?

Parabéns pela resolução da atividade!

Vi que você explorou a expressão lambda para operações matemáticas com Python, utilizou muito bem a condicional para evitar erros e ainda compreendeu a importância da função input() para interação com o usuário.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Uma dica interessante para o futuro é organizar as operações em um dicionário de funções. Assim:

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 zero"
}

resultado = operacoes.get(operacao, lambda x, y: "Operação inválida")(x, y)
print(f"O resultado é: {resultado}")

Isso faz a escolha da operação de forma mais elegante e escalável.

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Ah, uma pergunta: Você acha mais interessante manter cada operação separada em variáveis lambda ou prefere centralizar todas dentro de um dicionário para facilitar manutenção futura?

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