Вводятся целочисленные диапазоны для коэффициентов «a», «b» и «c» квадратного уравнения. Перебрать все возможные сочетания коэффициентов и определить, при каких из них квадратное уравнение имеет корни, а при каких — нет. Если уравнение имеет корни, вычислить их.
from math import sqrt
# диапазоны коэффициентов a, b, c
a1 = int(input('a1: '))
a2 = int(input('a2: '))
b1 = int(input('b1: '))
b2 = int(input('b2: '))
c1 = int(input('c1: '))
c2 = int(input('c2: '))
# Создаются объекты-диапазоны.
# +1 позволяет включить верхнюю границу
a = range(a1, a2 + 1)
b = range(b1, b2 + 1)
c = range(c1, c2 + 1)
# перебираются все сочетания коэффициентов
# i - текущий элемент из диапазона a
# j - текущий элемент из диапазона b
# k - текущий элемент из диапазона c
for i in a:
if i == 0:
# Если i равен 0, то уравнение
# не квадратное, а линейное
# поэтому решать его не надо.
# Переходим к следующей итерации цикла.
continue
for j in b:
for k in c:
# Выводятся текущие значения
# коэффициентов a, b, c.
print(i, j, k, end=' ')
# вычисляется дискриминант
D = j * j - 4 * i * k
# Если дискриминант не меньше нуля,
if D >= 0:
# вычисляются корни уравнения
x1 = (-j - sqrt(D)) / (2 * i)
x2 = (-j + sqrt(D)) / (2 * i)
x1 = round(x1, 2)
x2 = round(x2, 2)
print('Решение:', x1, x2)
# Если дискриминант меньше нуля,
else:
print('корней нет')
