1
resposta

CALCULADORA COM LAMBDA

Fiz meu código assim:

num1 = float(input('Digite o primeiro número: '))
num2 = float(input('Digite o segundo número: '))
operacao = input('Digite a operação (| + |-| * | / |): ')

operacoes = {'+': lambda x, y: x + y, '-': lambda x, y: x - y, '*': lambda x, y: x * y, '/': lambda x, y: x / y}
resultado = operacoes[operacao](num1,num2)
print(f'O resultado é: {resultado}')

poderia ser desta forma tambem?

1 resposta

Olá, Lais! Como vai?

Poderia sim! Eu testei o seu código e está funcionando perfeitamente.

Uma dica interessante para o futuro é tratar possíveis erros de entrada, como divisão por zero. Assim:

num1 = float(input('Digite o primeiro número: '))
num2 = float(input('Digite o segundo número: '))
operacao = input('Digite a operação (+ - * /): ')

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')(num1, num2)
print(f'O resultado é: {resultado}')

Isso faz com que o programa seja mais robusto e evite falhas inesperadas.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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