1
resposta

Resolução de Atividades - 12 Calculadora com tratamento de erros

def calculadora (N1, N2, operacao):

    if operacao == "A" or operacao == "+" or operacao == "adição":
            
        return N1 + N2
        
    elif operacao == "B" or operacao == "-" or operacao == "subtração":

        return N1 - N2
        
    elif operacao == "C" or operacao == "*" or operacao == "multiplicação":

        return N1 * N2
        
    elif operacao == "D" or operacao == "/" or operacao == "divisão":

        try:

            return N1 / N2
            
        except ZeroDivisionError:

            print ("\nCuidado, não existe divisão por 0, é um número irracional")
            return False

    else:

        return False

def main():
        
    while True:

        try:

            numero_1_usuario = int (input ("\nDigite o primeiro número: ").strip (" "))
            operacao_usuario = input ("Qual operação deseja executar? \nA: + (Adição); \nB: - (Subtração); \nC: * (Multiplicação); \nD: / (Divisão).\n\nResposta: ").strip (" ").lower()
            numero_2_usuario = int (input ("Digite o segundo número: ").strip (" "))

        except ValueError:

            print ("\nAtenção, digite apenas números!")
            continue

        resultado = calculadora (numero_1_usuario, numero_2_usuario, operacao_usuario)

        if resultado == False:

            print ("\nAtenção. Na escolha da operação, use somente os meios indicados, como A, B, C, D; os símbolos ou os nomes de cada operação. E não tente dividir por 0. Tente de novo!\n\n\n")
            continue

        else:

            print (f"\nO resultado é {resultado}")
            resposta_usuario = input ("Deseja fazer outra operação? Se sim, digite S, se não deseja, digite qualquer outra tecla.").lower()

            if resposta_usuario != "s":

                print ("Obrigado por usar nossos serviços! Até a próxima.")
                break

main()
1 resposta

Olá, Victor! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou a função para estruturar cálculos com Python, utilizou muito bem o condicional para controlar as operações e ainda compreendeu a importância do tratamento de exceções para evitar erros durante a execução.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Uma dica interessante para o futuro é trabalhar com o módulo math. Assim:

import math

print(math.sqrt(25)) # raiz quadrada
print(math.factorial(5)) # fatorial

Isso permite realizar cálculos matemáticos mais avançados com facilidade.

Conteúdos relacionados

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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