Определить корни квадратного уравнения питон

Reagent992 / 17 Корень зла.py

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

# Задача:
# Не все любят математику, а кто-то даже считает её настоящим злом во плоти, хотя от неё никуда не деться. К
# примеру, Python изначально разрабатывался только для решения математических задач, поэтому давайте используем его,
# чтобы найти корни квадратного уравнения.
#
# Формат ввода
# Вводится 3 вещественных числа a, b, c — коэффициенты уравнения вида:
# ax^2+bx+c=0
#
#
# Формат вывода
# Если у уравнения нет решений — следует вывести «No solution».
# Если корней конечное число — их нужно вывести через пробел в порядке возрастания с точностью до сотых.
# Если корней неограниченное число — следует вывести «Infinite solutions».
#
# Примечание
# Обратите внимание, что ограничения на значения коэффициентов отсутствуют.
#
# Пример 1
# Ввод
# 1
# -2
# 1
# Вывод
# 1.00
# Пример 2
# Ввод
# 3.5
# -2.4
# -7.3
# Вывод
# -1.14 1.83
# получаем вводные:
a = float ( input ())
b = float ( input ())
c = float ( input ())
# Квадратное уравнение имеет вид: ax² + bx + c = 0
# Стандартное решение через Дискриминант: D = b2 − 4ac
# если D < 0, корней нет;
# если D = 0, есть один корень;
# если D > 0, есть два различных корня.
# 0.9 Проверяем на
if a == 0 and b == 0 and c == 0 :
print ( ‘Infinite solutions’ )
elif a == 0 and b == 0 :
print ( ‘No solution’ )
else :
# 1. Проверяем уравнение на
if a == 0 :
x = — c / b
print ( «» . format ( round ( x , 2 )))
# Уравнение не квадратное
# 2. Решаем не полные квадратные уравнения
if b == 0 and c == 0 :
print ( «» . format ( round ( 0 , 2 )))
if a != 0 and b == 0 and c != 0 : # x² = — c/а
if (( — c ) / a ) < 0 :
print ( ‘No solution’ ) # нет решений
elif (( — c ) / a ) > 0 :
agg = abs ( c / a ) ** 0.5
ag = agg
ag2 = — agg
afk = min ( ag , ag2 )
afk2 = max ( ag , ag2 )
print ( round ( afk , 2 ), round ( afk2 , 2 ))
if a != 0 and b != 0 and c == 0 :
print ( «» . format ( 0 ), «» . format ( round (( — b / a ), 2 )))
# 3 решаем полное квадратное уравнение:
# 3.1 Преобразуем неприведенное уравнение в приведенное.
# в
if a > 1 :
b = b / a
c = c / a
a = a / a
# 3.2 решаем полное квадратное уравнение:
if a != 0 and b != 0 and c != 0 :
d = (( b ** 2 ) — ( 4 * a * c ))
if d < 0 :
print ( ‘No solution’ )
elif d == 0 :
ans1 = — b / 2 * a
print ( «» . format ( round ( ans1 , 2 )))
else :
x1 = ( — b + d ** 0.5 ) / ( 2 * a )
x2 = ( — b — d ** 0.5 ) / ( 2 * a )
prt1 = min ( x1 , x2 )
prt2 = max ( x1 , x2 )
if prt1 != prt2 :
print ( «» . format ( round ( prt1 , 2 )), «» . format ( round ( prt2 , 2 )))
else :
print ( «» . format ( round ( prt1 , 2 ))),

Источник

Определить корни квадратного уравнения питон

Как решать квадратные уравнения на Python: Примеры и объяснения

Как решать квадратные уравнения на Python: Примеры и объяснения

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

В данной статье мы рассмотрим несколько примеров решения квадратных уравнений на Python с подробными объяснениями.

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

from math import sqrt def solve_quadratic_equation(a, b, c):  """  Решает квадратное уравнение ax^2 + bx + c = 0   :param a: коэффициент при x^2  :param b: коэффициент при x  :param c: свободный член  :return: корни уравнения  """  discriminant = b**2 - 4*a*c if discriminant > 0:  x1 = (-b + sqrt(discriminant)) / (2*a)  x2 = (-b - sqrt(discriminant)) / (2*a)  return x1, x2 elif discriminant == 0:  x1 = -b / (2*a)  return x1 else:  return None  # Задаем коэффициенты уравнения a = 1 b = -3 c = 2  # Решение уравнения и вывод результатов result = solve_quadratic_equation(a, b, c) if result is None:  print("Уравнение не имеет действительных корней") elif isinstance(result, tuple):  print(f"Корни уравнения: x1 = result[0]>, x2 = result[1]>") else:  print(f"Корень уравнения: x = result>")  # Корни уравнения: x1 = 2.0, x2 = 1.0 

Данный код представляет функцию solve_quadratic_equation , которая решает квадратное уравнение вида ax^2 + bx + c = 0 , где a , b и c — коэффициенты уравнения. Функция использует импортированную из модуля math функцию sqrt для вычисления квадратного корня.

Функция solve_quadratic_equation принимает три аргумента — коэффициенты a , b и c уравнения, и возвращает корни уравнения в виде кортежа (tuple) или одиночного значения, в зависимости от количества корней.

Решение системы квадратных уравнений в Python

import math def solve_quadratic_equation(a, b, c):  """  Решает квадратное уравнение ax^2 + bx + c = 0   :param a: коэффициент при x^2  :param b: коэффициент при x  :param c: свободный член  :return: корни уравнения  """  discriminant = b**2 - 4*a*c if discriminant > 0:  x1 = (-b + math.sqrt(discriminant)) / (2*a)  x2 = (-b - math.sqrt(discriminant)) / (2*a)  return x1, x2 elif discriminant == 0:  x1 = -b / (2*a)  return x1 else:  return None  def solve_system_of_equations(eq1, eq2):  """  Решает систему из двух квадратных уравнений   :param eq1: кортеж с коэффициентами первого уравнения (a, b, c)  :param eq2: кортеж с коэффициентами второго уравнения (a, b, c)  :return: корни системы уравнений  """  a1, b1, c1 = eq1 a2, b2, c2 = eq2 # Решение первого уравнения  x1 = solve_quadratic_equation(a1, b1, c1)  if x1 is None:  return None  # Решение второго уравнения  x2 = solve_quadratic_equation(a2, b2, c2)  if x2 is None:  return None  return x1, x2 # Задаем систему уравнений eq1 = (1, -3, 2) eq2 = (2, 5, -3)  # Решение системы уравнений и вывод результатов result = solve_system_of_equations(eq1, eq2) if result is None:  print("Система уравнений не имеет действительных корней") else:  x1, x2 = result print(f"Корни системы уравнений: x1 = x1>, x2 = x2>")  # Корни системы уравнений: x1 = (2.0, 1.0), x2 = (0.5, -3.0) 

Данный код решает систему из двух квадратных уравнений и выводит результаты.

Функция solve_quadratic_equation(a, b, c) решает квадратное уравнение вида ax^2 + bx + c = 0 , где a , b и c — это коэффициенты уравнения. Она использует дискриминант ( discriminant ), который вычисляется как разность квадрата коэффициента при x ( b ) и произведения . Затем, в зависимости от значения дискриминанта, функция возвращает корни уравнения или None , если уравнение не имеет действительных корней.

Решение квадратного уравнения с использованием библиотеки numpy для работы с массивами и матрицами

import numpy as np def solve_quadratic_equation(a, b, c):  """  Решает квадратное уравнение ax^2 + bx + c = 0   :param a: коэффициент при x^2  :param b: коэффициент при x  :param c: свободный член  :return: корни уравнения  """  discriminant = b**2 - 4*a*c if discriminant > 0:  x1 = (-b + np.sqrt(discriminant)) / (2*a)  x2 = (-b - np.sqrt(discriminant)) / (2*a)  return x1, x2 elif discriminant == 0:  x1 = -b / (2*a)  return x1 else:  return None  # Задаем коэффициенты уравнения a = 1 b = -3 c = 2  # Решение уравнения и вывод результатов result = solve_quadratic_equation(a, b, c) if result is None:  print("Уравнение не имеет действительных корней") elif isinstance(result, tuple):  print(f"Корни уравнения: x1 = result[0]>, x2 = result[1]>") else:  print(f"Корень уравнения: x = result>")  # Корни уравнения: x1 = 2.0, x2 = 1.0 

Данный код представляет функцию solve_quadratic_equation(a, b, c) , которая решает квадратное уравнение вида ax^2 + bx + c = 0 , где a , b и c — это коэффициенты уравнения, передаваемые в качестве аргументов в функцию. Функция использует библиотеку NumPy, импортированную как np, для выполнения математических операций, таких как извлечение квадратного корня.

Заключение

Решение квадратных уравнений на Python может быть полезным навыком при работе с математическими и научными расчетами.

В данной статье мы рассмотрели три примера решения квадратных уравнений на Python.

Источник

Решение квадратного уравнения в Python

Квадратное уравнение образовано от латинского термина «quadrates», что означает «квадрат». Это специальный тип уравнения, имеющий форму:

Здесь «x» неизвестное, которое вы должны найти, «a», «b», «c» задает числа, такие что «a» не равно 0. Если a = 0, то уравнение становится линейным, а не квадратным. В уравнении a, b и c называются коэффициентами.

Возьмем пример решения квадратного уравнения 8x 2 + 16x + 8 = 0.

# import complex math module import cmath a = float(input('Enter a: ')) b = float(input('Enter b: ')) c = float(input('Enter c: ')) # calculate the discriminant d =(b**2) -(4*a*c) # find two solutions sol1 =(-b-cmath.sqrt(d))/(2*a) sol2 =(-b+cmath.sqrt(d))/(2*a) print('The solution are and '.format(sol1,sol2))
Enter a: 8 Enter b: 5 Enter c: 9 The solution are(-0.3125-1.0135796712641785j) and(-0.3125+1.0135796712641785j)

В первой строке мы импортировали модуль cmath и определили три переменные с именами a, b и c, которые получают ввод от пользователя. Затем вычисляем дискриминант по формуле. С помощью метода cmath.sqrt() мы вычислили два решения и распечатали результат.

Второй метод

Мы можем получить решение квадратного уравнения, используя прямую формулу. Давайте разберем следующий пример.

Вышеприведенная формула состоит из следующих случаев.

# Python program to find roots of quadratic equation import math # function for finding roots def findRoots(a, b, c): dis_form = b * b - 4 * a * c sqrt_val = math.sqrt(abs(dis_form)) if dis_form > 0: print(" real and different roots ") print((-b + sqrt_val) /(2 * a)) print((-b - sqrt_val) /(2 * a)) elif dis_form == 0: print(" real and same roots") print(-b /(2 * a)) else: print("Complex Roots") print(- b /(2 * a), " + i", sqrt_val) print(- b /(2 * a), " - i", sqrt_val) a = int(input('Enter a:')) b = int(input('Enter b:')) c = int(input('Enter c:')) # If a is 0, then incorrect equation if a == 0: print("Input correct quadratic equation") else: findRoots(a, b, c)
Enter a:7 Enter b:5 Enter c:2 Complex Roots -0.35714285714285715 + i 5.5677643628300215 -0.35714285714285715 - i 5.5677643628300215

В приведенном выше коде мы импортировали математический модуль и определили формулу для вычисления дискриминанта. Затем мы определили функцию findRoots, которая принимает три целых значения в качестве аргументов. Затем мы проверили корни с помощью оператора if-elif-else.

Источник

Читайте также:  Seo html коды для
Оцените статью