1
resposta

[Projeto] Calculadora com tratamento de erros

operadores = ['+', '-', '*', '/']

def soma(a, b):
    return a + b

def subtrai(a, b):
    return a - b

def multiplica(a, b):
    return a * b

def divide(a, b):
    return a / b

def calculadora():
    while True:
        try:
            numero1 = float(input('Digite o primeiro número: '))
            escolha_operador = input('Escolha a operação (+, -, *, /): ')

            if not escolha_operador in operadores:
                print('Opção inválida: informe um operador da lista.')
                continue
            else:
                numero2 = float(input('Digite o segundo número: '))

                if escolha_operador == '+':
                    resultado = soma(numero1, numero2)
                elif escolha_operador == '-':
                    resultado = subtrai(numero1, numero2)
                elif escolha_operador == '*':
                    resultado = multiplica(numero1, numero2)
                elif escolha_operador == '/':
                    resultado = divide(numero1, numero2)       
                    
            print(f'Resultado: {resultado:.2f}')

        except ValueError:
            print('Erro: Entrada inválida. Digite apenas números(SEM ESPAÇOS).')
        except ZeroDivisionError:
            print('Erro: Divisão por zero não é permitida.')

        opcao = input('Digite sair se deseja parar: ').lower()
        if opcao == 'sair':
            break
        else:
            continue

calculadora()

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Oi, Matheus! Como vai?

Agradeço por compartilhar.

Gostei da forma como estruturou sua calculadora, organizando bem as funções e aplicando o tratamento de erros com try/except. O código está bem claro e cobre os casos principais, como entradas inválidas e divisão por zero.

Continue praticando e explorando novas formas de tratar exceções.

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