Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Erro de divisão por 0 #31

Open
ediadema opened this issue Jun 14, 2023 · 1 comment
Open

Erro de divisão por 0 #31

ediadema opened this issue Jun 14, 2023 · 1 comment

Comments

@ediadema
Copy link

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))/(2
a)
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
Copy link

daviosantos commented Jul 18, 2023

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)) / (2a)
x2 = (-b - D**(1/2)) / (2
a)

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants