1
resposta

[Projeto] calculadora com tratamento de erros

import os 

def somar(num1, num2):
    return num1 + num2

def subtrair(num1, num2):
    return num1 - num2

def multiplicar(num1, num2):
    return num1 * num2

def dividir(num1, num2):
    if num2 == 0:
        raise ZeroDivisionError
    return num1 / num2 

def obter_numero():
    while True:
        try:
            numero = float(input("Escolha um numero: "))
            return numero
        except ValueError:
            os.system("cls")
            print("Entrada inválida! Por favor, insira um número válido.")

def calculadora(num1,operacao, num2):

    try:
        num1 = obter_numero()
        while True:
            operacao = input("escolha uma operação (+, -, *, /): ")
            if operacao not in ["+", "-", "*", "/"]:
                print("Operação inválida! Escolha entre +, -, * ou /.")
                continue
            break
        num2 = obter_numero()

        if operacao == "+":
            resultado = somar(num1, num2)
        elif operacao == "-":
            resultado = subtrair(num1, num2)
        elif operacao == "*":
            resultado = multiplicar(num1, num2)
        elif operacao == "/":
            resultado = dividir(num1, num2)
        else:
            return "Operação inválida!"
        os.system("cls")
        print(f"O resultado de {num1} {operacao} {num2} é: {resultado}")
    except ValueError:
        os.system("cls")
        return "Erro: Entrada invalida. Insira somente numeros validos!"
    except ZeroDivisionError:
        os.system("cls")
        print("Erro: Divisão por zero não é permitida.")
calculadora(0, "", 0)

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Willian! Como vai?

Agradeço por compartilhar.

Gostei bastante do seu projeto, principalmente pela forma como você tratou os erros e manteve o código organizado. Essa estrutura com funções separadas deixa o programa mais legível e fácil de ajustar no futuro.

Continue explorando e testando novas melhorias.

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