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

Faça como eu fiz: calculadora com lambda | Praticando Python: funções

# Entrada de dados
num1 = float(input("Digite o primeiro número: "))
num2 = float(input("Digite o segundo número: "))
operacao = input("Escolha a operação (| + | - | * | / |): ")

# Funções lambda
soma = lambda a, b: a + b
subtracao = lambda a, b: a - b
multiplicacao = lambda a, b: a * b
divisao = lambda a, b: a / b

# Verificação da operação escolhida
if operacao == "+":
    resultado = soma(num1, num2)
elif operacao == "-":
    resultado = subtracao(num1, num2)
elif operacao == "*":
    resultado = multiplicacao(num1, num2)
elif operacao == "/":
    resultado = divisao(num1, num2)
else:
    resultado = "Operação inválida"

print(f"O resultado é: {resultado}")
1 resposta

Oi, estudante. Tudo bem com você?

A criação das quatro funções lambda para cobrir as operações aritméticas fundamentais demonstra uma excelente compreensão sobre como declarar funções anônimas em Python. A conversão das entradas numéricas para o tipo float foi muito acertada, pois garante que a calculadora processe valores decimais sem gerar erros de tipo, e o encadeamento das estruturas condicionais tratou a lógica de escolha do usuário perfeitamente.

Uma dica útil para otimizar esse tipo de fluxo em projetos futuros envolve o mapeamento de funções dentro de um dicionário, o que elimina a necessidade de construir blocos if e elif repetitivos. Como exemplo prático de refatoração, você pode criar uma coleção onde as chaves são as strings dos operadores e os valores são as próprias expressões lambdas, escrevendo calculo = {"+": lambda a, b: a + b, "-": lambda a, b: a - b} e chamando diretamente através do comando resultado = calculo[operacao](num1, num2) após validar a existência da chave.

Como você avalia o impacto do uso desse mapeamento com dicionários na legibilidade do código à medida que novas operações matemáticas complexas forem adicionadas ao programa?

Parabéns pelo excelente desempenho na atividade, saiba que o fórum continua totalmente à disposição para suas futuras interações.

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