Задача 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))


2080login-checkЗадача 9. Уравнение

Добавить комментарий