Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Calculadora com Lambda

def calcula(operacao,a,b):
    somar = lambda a,b : a + b
    multiplicar = lambda a,b : a * b
    dividir = lambda a,b : a / b
    subtrair = lambda a,b : a - b

    match operacao:
        case "+": print(f'O resultado é: {somar(a,b)}')
        case "*": print(f'O resultado é: {multiplicar(a,b)}')
        case "/": print(f'O resultado é: {dividir(a,b)}')
        case "-": print(f'O resultado é: {subtrair(a,b)}')


primeiro_numero  = int(input('Digite o primeiro número: '))
segundo_numero = int(input('Digite o segundo número: '))
operacao = input('Escolha a operação (| + | - | * | / |) :')

calcula(operacao,primeiro_numero,segundo_numero)
1 resposta
solução!

Saudações! Tudo bem?

Parabéns! Mantenha o ritmo nos exercícios e continue compartilhando na nossa comunidade.

Percebi que você dominou o uso de funções lambda para simplificar expressões, aplicou muito bem o match-case para selecionar operações matemáticas e ainda demonstrou compreender a relevância da organização por funções para facilitar a leitura e manutenção do código.

Uma sugestão para evoluir ainda mais é usar um dicionário de funções com o objetivo de tornar o código mais flexível e escalável. Veja só:

def calcula(operacao, a, b):
    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)

    if resultado:
        print(f'O resultado é: {resultado(a, b)}')
    else:
        print('Operação inválida.')

a = float(input("Digite o 1° número: "))
b = float(input("Digite o 2° número: "))
operacao = input("Escolha a operação [+] [-] [*] [/]: ")

calcula(operacao, a, b)

Resultado:

Digite o 1° número: 2
Digite o 2° número: 3
Escolha a operação [+] [-] [*] [/]: *
O resultado é: 6.0

Essa abordagem ajuda a reduzir a duplicação de código e facilita a inclusão de novas operações.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

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!