1
resposta

[Projeto] resolução das atividades Calculadora

def pede_numero(prompt):
    while True:
        try:
            return float(input(prompt))
        except ValueError:
            print('Entrada invalida , por favor digite apenas numeros ')

def soma (num1,num2):
   return num1+num2
def subtrai (num1,num2):
    return num1 -num2

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

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

def calculadora():
    try:
        num1 = pede_numero('Digite o primeiro numero : ')
        operacao = input('Escolha a operação (| + | - | * | / |): ')
        num2 = pede_numero('Digite o segundo numero : ')
        if operacao == '+':
            print(f'O resultado é: {soma(num1, num2)}')
        elif operacao == '-':
            print(f'O resultado é: {subtrai(num1, num2)}')
        elif operacao == '*' :
            print(f'O resultado é: {multiplica(num1, num2)}')
        elif operacao == '/':
            print(f'O resultado é: {divide(num1, num2)}')
        else: print('Operação invalida')
        return
    except ValueError :
                print("Erro: Entrada inválida. Digite apenas números.")
    except ZeroDivisionError as e:
                print("Erro: Divisão por zero não é permitida")
calculadora()


1 resposta

Olá, Cauã, como vai?

Você organizou bem a solução, separando as responsabilidades em funções e utilizando tratamento de exceções conforme proposto na atividade. A calculadora atende aos cenários descritos e o fluxo de execução está claro, o que demonstra um bom entendimento de modularização e de uso de try-except.

Obrigado por compartilhar sua solução e fique à vontade para continuar trazendo seus projetos e dúvidas aqui no fórum, que está sempre à disposição.

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