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

[Sugestão] Resolução Calculadora com tratamento de erros

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

        if operacao == '+':
            return somar(a, b)
        elif operacao == '-':
            return subtrair(a, b)
        elif operacao == '*':
            return multiplicar(a, b)
        elif operacao == '/':
            return dividir(a, b)
        else:
            return 'Operação inválida!'

    except ZeroDivisionError:
        return 'Erro: Divisão por zero não é permitida.'  

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

    resultado = calculadora(primeiro_numero, segundo_numero, operacao)

    try:
        print(f'Resultado: {resultado:.2f}')
    except (TypeError, ValueError):
        print(f'Resultado: {resultado}')

except ValueError: 
        print('Erro: Entrada inválida. Digite apenas números.')
1 resposta
solução!

Oi, Luis! Como vai?

Obrigada por compartilhar seu código com a comunidade Alura.

Seu código tá bem estruturado e mostra um bom domínio do uso de try e except, o que é fundamental para capturar exceções e evitar que o programa quebre. A organização em lambdas para cada operação também torna a função calculadora bem limpa.

Continue firme nos estudos.

Alura

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