0

Программа которая вычисляет корень квадратного уравнения. Math domain error. Помогите ребята

#-*-coding:utf8;-*- #qpy:2 #qpy:console from math import sqrt print('Привіт,ця программа розвязує квадратні рівняння') while True: x = int(input('0 - зупинити программу,1 - старт: ')) if x == 0: print('Программу зупиненно') break if x == 1: print ('ax^2+bx+c=0') a = float(input('a: ')) b = float(input('b: ')) c = float(input('c: ')) num1 = b**2-4*a*c num2 = b**2-4*c num3 = b**2-4*a try: fuc1 = (-(b-(sqrt(num1))))/(2*a) fuc2 = (-(b+(sqrt(num1))))/(2*a) except: fuc3 = (-(b-(sqrt(num2))))/(2) fuc4 = (-(b+(sqrt(num2))))/(2) try: fuc5 = (-(b-(sqrt(num3))))/(2*a) fuc6 = (-(b+(sqrt(num3))))/(2*a) except: print('D = b^2-4ac =') if a == 0: print(num2) if num2 <0: print('Немає розвязку') continue print('x1,x2 = -b+-√D/2a') print('x1 = ') print(fuc3) print('x2 = ') print(fuc4) continue if c == 0: print (num3) if num3 <0: print('Немає розвязку') continue print('x1,x2 = -b+-√D/2a') print('x1 = ') print(fuc5) print('x2 = ') print(fuc6) continue print(num1) if num1 <0 : print('Немає розвязку') continue print('x1,x2 = -b+-√D/2a') print('x1: ') print(fuc1) print('x2: ') print(fuc2)

25th Jul 2016, 4:52 PM
PAVLIKHILEY
PAVLIKHILEY - avatar
3 odpowiedzi
+ 3
Я бы посоветовал использовать "elif" вместо того, чтобы постоянно использовать "if". И вместо того, чтобы мутить с корнем, просто возведи в 1/2 степень, ведь это тоже самое.
26th Jul 2016, 11:10 AM
Vladimir K. Bobyr
Vladimir K. Bobyr - avatar
0
Если a=0, никакой дискриминант вообще не нужен: просто x = -c/b. А num2 и num3 вообще не имеют смысла: ведь если a=0 или c=0, то выражение для D превращается не в "b**2-4*c" или "b**2-4*a", а просто в b**2. В этом легко убедиться простой подстановкой 0 вместо a или c. Если c=0, то или x=0, или x=-b/a. Ну и так далее, учите алгебру
10th Feb 2018, 8:24 PM
Вадим Сухотин (Vadim Sukhotin)
Вадим Сухотин (Vadim Sukhotin) - avatar
- 7
first ask the question in English! next give a minimum working example for your point! then people might try to answer!
26th Jul 2016, 9:47 AM
Thej Kiran
Thej Kiran - avatar