Как найти корни квадратного уравнения в Python

Обложка к статье "Корни квадратного уравнения в Python"

Сегодня поговорим о том как применять Python для нахождения корней квадратных уравнений. Мы начнём с базовых теоретических основ квадратных уравнений, затем перейдём к коду и пошагово разберем, как реализовать нахождение корней квадратного уравнения в Python.

Теоретическая основа

Перед тем как перейти к программному решению квадратных уравнений в Python, важно понять теоретические основы, лежащие в их основе. Квадратное уравнение — это многочлен второй степени, общий вид которого выражается формулой ax2 + bx + c = 0, где:

  • a, b, и c являются коэффициентами уравнения, при этом a ≠ 0 (если a = 0, уравнение перестаёт быть квадратным и превращается в линейное уравнение),
  • x представляет собой переменную или неизвестное, значение которой необходимо найти.

Корни квадратного уравнения

Корнями квадратного уравнения называются значения переменной x, при подстановке которых уравнение обращается в верное числовое равенство. В зависимости от значений коэффициентов a, b, и c уравнение может иметь два различных корня, один корень (в случае, когда оба корня совпадают), или не иметь вещественных корней вообще.

Дискриминант

Ключевым понятием при решении квадратных уравнений является дискриминант, который обозначается буквой D и вычисляется по формуле D = b2 — 4ac. Значение дискриминанта позволяет определить количество корней уравнения:

  • Если D > 0, уравнение имеет два различных вещественных корня.
  • Если D = 0, уравнение имеет один корень (или два совпадающих корня).
  • Если D < 0, вещественных корней нет, но существуют два комплексных корня.

Формулы для нахождения корней

При D ≥ 0, корни квадратного уравнения можно найти с помощью следующих формул:

  • x1 = (−b + √D) / 2a
  • x2 = (−b — √D) / 2a

Если D < 0, корни квадратного уравнения выражаются через комплексные числа, что выходит за рамки данного обзора.

Понимание этих основ позволит нам довольно легко написать код, для решения задачи в Python.

Решение квадратного уравнения в Python с использование библиотеки math

Для начала разберём пример, в котором для нахождения корня, мы будем использовать библиотеку math.

Шаг 1: Импорт библиотеки math

Для работы с квадратным корнем необходимо импортировать библиотеку math

import math

Шаг 2: Ввод коэффициентов

Сначала запрашиваем у пользователя ввод коэффициентов a, b, c в соответствии с формулой ax2 + bx + c = 0

a = float(input("Введите коэффициент a: "))
b = float(input("Введите коэффициент b: "))
c = float(input("Введите коэффициент c: "))

Используем float, для того, чтобы иметь возможность работать с дробными числами.

Шаг 3: Вычисление дискриминанта

Дискриминант квадратного уравнения вычисляется по формуле D = b2 — 4ac. Для возведения в степень используем оператор **.

D = b**2 - 4*a*c

Шаг 4: Определение количества корней и их вычисление

На основе значения дискриминанта D, определяем количество корней уравнения и вычисляем их. Используем конструкцию if - elif - else. Если объяснить простым языком, то мы сначала проверяем первое условие if, если оно не выполняется, то проверяем второе условие elif, если и оно не выполняется выполняем код указанные в else.

if D < 0:
    print("Корней нет")
elif D == 0:
    x = -b / (2*a)
    print("Уравнение имеет один корень: x =", x)
else:
    x1 = (-b + math.sqrt(D)) / (2*a)
    x2 = (-b - math.sqrt(D)) / (2*a)
    print("Уравнение имеет два корня: x1 =", x1, "и x2 =", x2)

Собираем код вместе

Соберём все части кода вместе и получим:

import math
a = float(input("Введите коэффициент a: "))
b = float(input("Введите коэффициент b: "))
c = float(input("Введите коэффициент c: "))
D = b**2 - 4*a*c
if D < 0:
    print("Корней нет")
elif D == 0:
    x = -b / (2*a)
    print("Уравнение имеет один корень: x =", x)
else:
    x1 = (-b + math.sqrt(D)) / (2*a)
    x2 = (-b - math.sqrt(D)) / (2*a)
    print("Уравнение имеет два корня: x1 =", x1, "и x2 =", x2)

Пример выполнения кода

Теперь давайте проверим работу кода и приведём пример его работы.

Введите коэффициент a: 1
Введите коэффициент b: 2
Введите коэффициент c: -3
Уравнение имеет два корня: x1 = 1.0 и x2 = -3.0

Решение квадратного уравнения в Python без использования библиотеки math

Если вам необходимо написать код для нахождения корней квадратного уравнения без использования библиотеки math, то нам необходимо будет внести небольшие изменения в код из предыдущего раздела.

Во-первых, мы не импортируем библиотеку math в первой строке нашего кода.

Во-вторых, нам необходимо вычислить вычислить квадратный корень числа без применения math.sqrt. Для этого стоит немного погрузиться в математику. Корень числа представляется из себя ни что иное как число возведенное в степень 1/2. Значит для нахождения дискриминанта мы можем переписать свой код следующим образом:

x1 = (-b + D**0.5) / (2*a)
x2 = (-b - D**0.5) / (2*a)

Целиком код будет выглядеть следующим образом:

a = float(input("Введите коэффициент a: "))
b = float(input("Введите коэффициент b: "))
c = float(input("Введите коэффициент c: "))
D = b**2 - 4*a*c
if D < 0:
    print("Корней нет")
elif D == 0:
    x = -b / (2*a)
    print("Уравнение имеет один корень: x =", x)
else:
    x1 = (-b + D**0.5) / (2*a)
    x2 = (-b - D**0.5) / (2*a)
    print("Уравнение имеет два корня: x1 =", x1, "и x2 =", x2)

Оцените статью
( Пока оценок нет )
Обучение Python
Добавить комментарий