1
resposta

Minha resposta

def calcular_resultado(x, y, escolha_operacao):
    match escolha_operacao:
        case "+":
            soma = lambda x, y: x + y
            return soma(x, y)
        case "-":
            subtracao = lambda x, y: x - y
            return subtracao(x, y)
        case "*":
            multiplicacao = lambda x, y: x * y
            return multiplicacao(x, y)
        case "/":
            divisao = lambda x, y: x / y if y != 0 else "Não é possível realizar uma divisão por zero"
            return divisao(x, y)
        case _:
            return "Operação inválida"

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

print("O resultado é igual a:", calcular_resultado(primeiro_num, segundo_num, escolha_operacao))
1 resposta

Oi, Lucas! Como vai?

Gostei bastante da forma como você utilizou o match case junto com funções lambda, isso deixa o código organizado e direto, além de mostrar um bom domínio de estruturas mais modernas do Python.

Também foi bem legal você tratar a divisão por zero dentro da própria lambda, isso mostra atenção aos detalhes.

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