Задача 9. Уравнение (Python)

Даны действительные коэффициенты 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))
Задача 9. Уравнение (Python)

Оцените статью
( 3 оценки, среднее 5 из 5 )