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

[Projeto] Faça como eu fiz: calculadora com lambda [Especialista IA]

operacoes = {
    '+': lambda a, b: a + b,
    '-': lambda a, b: a - b,
    '*': lambda a, b: a * b,
    '/': lambda a, b: a / b if b != 0 else "Erro: divisão por zero"
}

def calcular(a, b, operador):
    if operador in operacoes:
        return operacoes[operador](a, b)
    return "Operador inválido"

a = float(input("Digite o primeiro número: "))
b = float(input("Digite o segundo número: "))
op = input("Escolha a operação (| + | - | * | / |): ")

resultado = calcular(a, b, op)
print(f"O resultado é: {resultado:.0f}" if isinstance(resultado, float) else f"O resultado é: {resultado}")

Cada operador é uma chave que aponta para uma função lambda. Isso evita um longo bloco de if/elif.

Chamando a operação escolhida:

operacoes[operador](a, b)
Busca a lambda pelo operador digitado e já a executa com os dois números.

1 resposta

Olá, Tamy!

A sua atividade Faça como eu fiz: calculadora com lambda ficou muito bem construída, trazendo uma solução enxuta para trabalhar com funções em Python, operadores e expressões lambda.

A escolha do dicionário operacoes deixa o código mais limpo e facilita a manutenção, já que cada símbolo aponta diretamente para uma ação. Isso também mostra uma boa prática de organização: em vez de repetir muitos blocos condicionais, você centraliza as operações em uma estrutura simples. Uma dica é manter esse padrão quando quiser adicionar novas operações, como potência ou resto da divisão: basta criar uma nova chave no dicionário e associar uma nova lambda, mantendo a calculadora fácil de expandir.

Que outra operação você adicionaria nessa calculadora usando o mesmo formato com lambda?

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