Даны действительные коэффициенты a, b, c, при этом a≠0. Решите квадратное уравнение ax^2+bx+c=0 и выведите все его корни. Если уравнение имеет два корня, выведите два корня в порядке возрастания, если один корень — выведите одно число, если нет корней — не выводите ничего
Решение:
import math
a = float(input('Введите число A: '))
b = float(input('Введите число B: '))
c = float(input('Введите число C: '))
if a != 0:
d = b ** 2 - (4 * a * c)
if d == 0:
x = -b / (2 * a)
print(x)
elif d > 0:
x1 = float(((-b) + math.sqrt(d)) / (2 * a))
x2 = float(((-b) - math.sqrt(d)) / (2 * a))
k1 = x1.is_integer()
k2 = x2.is_integer()
if k1 and not k2:
if x1 > x2:
print('{0:.6f}'.format(x2), x1)
else:
print(x1, '{0:.6f}'.format(x2))
elif not k1 and k2:
if x2 > x1:
print('{0:.6f}'.format(x1), x2)
else:
print(x2, '{0:.6f}'.format(x1))
elif not k1 and not k2:
if x1 > x2:
print('{0:.6f}'.format(x2), '{0:.6f}'.format(x1))
else:
print('{0:.6f}'.format(x1), '{0:.6f}'.format(x2))
else:
if x1 > x2:
print(int(x2), int(x1))
else:
print(int(x1), int(x2))
20800login-checkЗадача 9. Уравнение
