1
resposta

[Projeto] Praticando Python - Calculadora com tratamento de erros

Essa foi a solução que consegui:

print("=" * 46)
print("Escolha dois números e sua operação matemática")
print("=" * 46)

def soma(n1, n2):
    return n1 + n2

def subtracao(n1, n2):
    return n1 - n2

def multiplicacao(n1, n2):
    return n1 * n2

def divisao(n1, n2):
    try:
        return n1 / n2
    except ZeroDivisionError:
        return "Erro: Não é possível divisão por zero"

while True:
    try:
        n1 = float(input("Escolha um número: "))
        n2 = float(input("Escolha mais um número: "))

        escolha = input("""
    [+] somar
    [-] subtrair
    [*] multiplicar
    [/] dividir
    [0] sair do programa

    Escolha uma das opções acima: """)

        if escolha == "0":
            print("Saindo do programa...")
            break

        if escolha == "+":
            print(f"Resultado: {soma(n1, n2)}")
        elif escolha == "-":
            print(f"Resultado: {subtracao(n1, n2)}")
        elif escolha == "*":
            print(f"Resultado: {multiplicacao(n1, n2)}")
        elif escolha == "/":
            print(f"Resultado: {divisao(n1, n2)}")
        else:
            print("Opção inválida! Tente novamente.")

    except ValueError:
        print("Erro: Digite apenas números válidos.")
1 resposta

Olá, Vitor, como vai?

Seu código atende aos requisitos propostos no exercício e demonstra um bom uso das estruturas de repetição e tratamento de exceções em Python. A implementação das funções para cada operação matemática mantém o código organizado e a lógica de verificação para a divisão por zero dentro da função específica é uma prática interessante para isolar comportamentos. É muito positivo ver que você também incluiu uma opção para encerrar o programa, o que melhora a experiência de uso.

Parabéns pelo empenho em resolver o desafio e por compartilhar sua solução.

Continue praticando e postando seus avanços. O fórum está à disposição.

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