Квадратное уравнение имеет вид
ax2 + bx + c = 0
При его решении сначала вычисляют дискриминант по формуле
D = b2 — 4ac
Если D > 0, то квадратное уравнение имеет два корня; если D = 0, то 1 корень; и если D < 0, то делают вывод, что корней нет.
Таким образом, программа для нахождения корней квадратного уравнения может иметь три ветви условного оператора.
Функция float() преобразует переданный ей аргумент в вещественное число.
import math
print("Введите коэффициенты для уравнения")
print("ax^2 + bx + c = 0:")
a = float(input("a = "))
b = float(input("b = "))
c = float(input("c = "))
discr = b ** 2 - 4 * a * c
print("Дискриминант D = %.2f" % discr)
if discr > 0:
x1 = (-b + math.sqrt(discr)) / (2 * a)
x2 = (-b - math.sqrt(discr)) / (2 * a)
print("x1 = %.2f \nx2 = %.2f" % (x1, x2))
elif discr == 0:
x = -b / (2 * a)
print("x = %.2f" % x)
else:
print("Корней нет")
Примеры выполнения кода:
Введите коэффициенты для уравнения
ax^2 + bx + c = 0:
a = 2
b = 4
c = 2
Дискриминант D = 0.00
x = -1.00
Введите коэффициенты для уравнения
ax^2 + bx + c = 0:
a = 3.2
b = -7.8
c = 1
Дискриминант D = 48.04
x1 = 2.30
x2 = 0.14
Введите коэффициенты для уравнения
ax^2 + bx + c = 0:
a = 8
b = 4
c = 2
Дискриминант D = -48.00
Корней нет