Даны действительные коэффициенты a, b, c при этом a≠0. Решите квадратное уравнение a∙x2+b∙x+c=0 и выведите все его корни.
Если уравнение имеет два корня, выведите два корня в порядке возрастания, если один корень — выведите одно число, если нет корней — не выводите ничего
Что оценивается
- результат вывода соответствует условию;
- input содержит корректное приглашение для ввода;
- вывод содержит описание результата (выведенные числа сопровождаются текстовым описанием).
Решение задачи
print('Задача 9. Уравнение')
# Даны действительные коэффициенты 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))