gustavoguanabara / projeto-site

Projeto de um site criado durante o curso de Git e GitHub
MIT License
785 stars 312 forks source link

Erro de divisão por 0 #31

Open ediadema opened 1 year ago

ediadema commented 1 year ago

Boa noite Guanabara. Assisto seus cursos, e sou seu fã de carteirinha. Acho este seu projeto de popularização de programação o máximo, e se houvessem mais professores como você, acho que estaríamos muito melhor no sentido de educação nesse nosso Brasil. Mas vamos deixar de jogar seda, e partir para o questionamento. Meu caro, eu desenvolvi (mediante as tuas aulas de Python), uma calculadora que realiza equações do segundo grau. Ela ficou muito linda e funcional, porém eu esbarro em um erro que não consigo consertar. Já tentei diversos meios, porém sempre apresenta o erro de divisão por 0. Eu gostaria que você me ajudasse a corrigir isso: Segue o código:

print ('VAMOS CONSTRUIR UMA EQUAÇÃO DO 2º GRAU') print()

a = int(input('digite o primeiro termo da equação ')) b = int(input('digite o segundo termo da equação ')) c = int(input('digite o terceiro termo da equação ')) print('Os termos da equação são:a={}, b={} e c={} ' .format(a,b,c)) delta = (b2) - (4ac) raiz = delta(1/2) x1 = (-b +( raiz))/(2a) x2 = (-b -( raiz))/(2a) print() print (f'o delta vale {delta}') print()

if delta<0: print('Não existem raízes válidas no conjunto dos números Reais')

else: print('E as raízes são: \nx1 = {:.2f} \nx2= {:.2f} '.format(x1,x2))

Se o primeiro termo da equação ("a"), for zero, eu já sei de cara que vai dar erro porque daria divisão por 0, e o Python me apresentaria a seguinte mensagem: x1 = (-b +( raiz))/(2*a) ZeroDivisionError: float division by zero

Como eu faço para que caso o usuário da calculadora digite 0 para o primeiro termo, eu imprima uma mensagem do tipo: Impossível a divisão por 0, antes de o python tentar realizar o cálculo e apresentar erro?????

daviosantos commented 1 year ago

Segue o código em python:

Calcular as Raízes de uma Equação do 2º Grau

def raizes(a, b, c): D = (b2 - 4ac) x1 = (-b + D(1/2)) / (2*a) x2 = (-b - D*(1/2)) / (2a)

print('\nValor de x1: {0}'.format(x1))
print('Valor de x2: {0}'.format(x2))

if name == 'main': while True: print('Calculando as raízes de uma equação de 2º grau\n') a = float(input('Entre com o valor de a: ')) b = float(input('Entre com o valor de b: ')) c = float(input('Entre com o valor de c: ')) raizes(a,b,c)

    continua = input('Deseja sair? Digite q ou Enter para novo cálculo:')
    if (continua == 'q'):
        break