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

Calculadora com lambda

Optei por resolver da seguinte forma:

primeiro_numero = lambda: int(input("Digite o primeiro número: "))
segundo_numero = lambda: int(input("Digite o segundo número: "))
operador = lambda: input("Escolha a operação (+, -, *, /): ")

soma = lambda x, y: x + y
subtracao = lambda x, y: x - y
multiplicacao = lambda x, y: x * y
divisao = lambda x, y: x / y if y != 0 else "Erro: Divisão por zero"

operacoes = {
    "+": soma,
    "-": subtracao,
    "*": multiplicacao,
    "/": divisao
}

numero1 = primeiro_numero()
numero2 = segundo_numero()
operacao = operador()

if operacao in operacoes:
    resultado = operacoes[operacao](numero1, numero2)
    print("Resultado:", resultado)
1 resposta

Oi, Deivide, como vai?

Sua solução atende ao desafio e demonstra um bom domínio do uso de funções lambda. Você criou lambdas para as operações matemáticas, utilizou um dicionário para associar os operadores às funções e ainda incluiu um tratamento para divisão por zero, o que agrega robustez ao programa.

Há apenas um detalhe a considerar: caso o usuário informe um operador inválido, o programa não exibirá nenhuma mensagem. Uma validação no bloco final poderia melhorar a experiência de uso, informando que a operação não foi reconhecida.

Pensando em evoluir essa calculadora, como você implementaria operações adicionais, como potência ou resto da divisão, mantendo a mesma estrutura?

Parabéns pela resolução da atividade e por compartilhar sua abordagem. O fórum está à disposição para acompanhar seu desenvolvimento com Python.

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