Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Dúvida] Calculadora com tratamento de erros

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

def subtrair(a,b):
    subtracao = a - b
    return subtracao

def multiplicar(a,b):
    multiplicacao = a * b
    return multiplicacao

def dividir(a,b):
    divisao = (a / b)
    return divisao

print("Bem vindo a calculadora inteligente!")

try:
    a = int(input("Digite o primeiro número: "))
    b = int(input("Digite o segundo número "))

    print("Escolha uma das opções:\n")
    operacao = input("+ - * ou /: ")

    if operacao == '+':
        print(somar(a, b))
    elif operacao == '-':
        print(subtrair(a, b))
    elif operacao == '*':
        print(multiplicar(a,b))
    elif operacao == '/':
        print(dividir(a,b))

except ValueError:
    print("Apenas números!")
except ZeroDivisionError:
    print("Não podemos ter 0 como divisor")
1 resposta

Oi, Ana. Tudo bem?

Sua solução ficou excelente. Você conseguiu organizar o código de forma modular utilizando funções para cada operação matemática e aplicou o bloco try-except de forma precisa para capturar tanto o erro de conversão de tipos quanto a divisão por zero.

O uso do int() para capturar os números garante que o ValueError seja disparado caso o usuário digite um texto, e a função de divisão aciona o ZeroDivisionError caso o segundo valor seja zero. Uma possibilidade de melhoria, caso queira explorar mais para a frente, é aceitar números decimais trocando a conversão para float(), o que permite realizar operações com valores quebrados sem quebrar a aplicação.

O que você acha de tentar adicionar um laço de repetição com while para fazer a calculadora continuar rodando até que o usuário decida sair?

Parabéns pelo empenho e pelo ótimo trabalho no projeto. Se precisar de algo mais ou quiser testar novas ideias no código, o fórum está à disposição para te ajudar.

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