Решение квадратного уравнения
Написать программу решения квадратного уравнения. Программа должна проверять правильность исходных данных и в случае, когда коэффициент при второй степени неизвестного равен нулю, выводить соответствующее сообщение.
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Решение квадратного уравнения
Помогите найти ошибку import math a = int(input("Введите значение a= ")) b =.
Решение квадратного уравнения ах^2 + bx + c = 0
import math a = int(input("Введите значение a= ")) b = int(input("Введите значение b= ")) c =.
Решение приведенного квадратного уравнения
Напишите две функции larger_root(p,q) и smaller_root(p,q), которые возвращают больший и меньший.
Решение квадратного уравнения с корнями и степенью в коэффициенте
Написать программу решения квадратного уравнения, с корнями и степенью в коэффициенте и находить.
Решение квадратного уравнения при любом знаке дискриминанта
Помогите написать программу которая вычисляет корни, как у положительного, так и у отрицательного.
![]()
1354 / 651 / 207
Регистрация: 23.03.2014
Сообщений: 3,057

Сообщение было отмечено alex2352 как решение
Решение
alex2352, подойдет?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
print("Введите коэффициенты для квадратного уравнения (ax^2 + bx + c = 0):") a = float(input("a = ")) b = float(input("b = ")) c = float(input("c = ")) discr = b**2 - 4 * a * c; print("Дискриминант D = %.2f" % discr) if discr > 0: import math x1 = (-b + math.sqrt(discr)) / (2 * a) x2 = (-b - math.sqrt(discr)) / (2 * a) print("x1 = %.2f \nx2 = %.2f" % (x1, x2)) elif discr == 0: x = -b / (2 * a) print("x = %.2f" % x) else: print("Корней нет")
Просто Лис
![]()
5321 / 3335 / 1021
Регистрация: 17.05.2012
Сообщений: 9,768
Записей в блоге: 9
1 2 3 4 5
Введите коэффициенты для квадратного уравнения (ax^2 + bx + c = 0): a = Traceback (most recent call last): File "", line 1, in module> ValueError: could not convert string to float:
Добавлено через 1 минуту
1 2 3 4 5 6 7 8 9
Введите коэффициенты для квадратного уравнения (ax^2 + bx + c = 0): a = 0 b = 1 c = 1 Дискриминант D = 1.00 Traceback (most recent call last): File "1.py", line 10, in module> x1 = (-b + math.sqrt(discr)) / (2 * a) ZeroDivisionError: float division by zero
337 / 126 / 114
Регистрация: 09.04.2011
Сообщений: 246
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
from math import sqrt a = int(input()) b = int(input()) c = int(input()) if a != 0: if b !=0 and c != 0: d = b*b - 4*a*c print("D=", d) if d 0: print("Нет корней") elif d == 0: print("1 Корень") x = -b / (2*a) print("x=", x) else: print("2 Корня") x1 = (-b + sqrt(d)) / (2*a) x2 = (-b - sqrt(d)) / (2*a) print("x1=", x1, "x2=", x2) elif b == 0 and c == 0: print("Неполное кв. ур") print("Корень x=" , 0) elif b == 0: print("Неполное кв. ур") if -c / a 0: print("Нет корней") else: print("2 Корня") x1 = sqrt(-c / a) x2 = -x1 print("x1=", x1, "x2=", x2) else: print("Неполное кв. ур") print("2 Корня") x1 = 0 x2 = -b / a print("x1=", x1, "x2=", x2) else: print("Нужно вводить a > 0, иначе это не кв. ур-е !")
![]()
1354 / 651 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
Рыжий Лис, а точность не 1.0)?
Добавлено через 1 минуту
Пишк со смартфона,пардон за орфографию
531 / 309 / 76
Регистрация: 10.04.2012
Сообщений: 1,147
Записей в блоге: 2
Вариант с SymPy
1 2 3 4 5 6 7 8
from sympy.solvers import solve from sympy import Symbol def fun(a,b,c): x = Symbol('x') return solve(f'*x**2+*x+', x) print('Корни уравнения:', *fun(1, -16, 28)) # 2 14
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Решение квадратного уравнения и вывод его корней (ошибка Runtime Error)
Добрый день, уважемые форумчане! Первый раз зарегестрировался на каком либо форуме, если что не.
Корни квадратного уравнения
Напишите вспомогательную функцию, которая по трем действительным числам вычисляет корни.
Корни квадратного уравнения
Напишите две функции larger_root(p,q) и smaller_root(p,q), которые возвращают больший и меньший.

Корни квадратного уравнения
Напишите программу, которая просит ввести три действительных числа, вычисляет корни.
Корни квадратного уравнения
Нужно чтоб на вход сразу же квадратное уравнение поступало, а на выходе были его корни и эти.
Как решить квадратное уравнение в питоне
![]()
Как решать квадратные уравнения на Python: Примеры и объяснения
14 апреля 2023
Оценки статьи
Еще никто не оценил статью
Квадратные уравнения являются одним из наиболее распространенных типов уравнений, которые встречаются в математике и науке. Решение квадратных уравнений на 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
Необходимо решить квадратное уравнение Формат ввода Вводится 3 вещественных числа a, b, c — коэффициенты уравнения вида: ax^2+bx+c=0ax Формат вывода Если у уравнения нет решений — следует вывести «No solution». Если корней конечное число — их нужно вывести через пробел в порядке возрастания с точностью до сотых. Если корней неограниченное число — следует вывести «Infinite solutions». Примечание Обратите внимание, что ограничения на значения коэффициентов отсутствуют.
a = float(input()) b = float(input()) c = float(input()) x1 = float(0.00) x2 = float(0.00) if a == 0 and b == 0 and c == 0: print("Infinite solutions") elif a == 0 and b != 0 and c != 0: x1 = -(c / b) print("%.2f" % x1) elif a == 0 and b == 0 and c != 0: print("No solution") # no sol elif a == 0 and b != 0 and c == 0: x1 = 0 print("%.2f" % x1) elif b == 0 and c == 0 and a != 0: x1 = 0 print("%.2f" % x1) elif c == 0 and b != 0 and a != 0: x1 = 0 x2 = -(b / a) print(min("%.2f" % x1, "%.2f" % x2), max("%.2f" % x1, "%.2f" % x2), sep=' ') elif b == 0 and a != 0 and c != 0: if (-(c / a)) < 0: print("No solution") else: x1 = (-c / a) ** 0.5 x2 = -((-c / a) ** 0.5) print(min("%.2f" % x1, "%.2f" % x2), max("%.2f" % x1, "%.2f" % x2), sep=' ') elif a != 0 and b != 0 and c != 0: disc = (b ** 2) - (4 * a * c) # discriminant if disc < 0: print("No solution") elif disc == 0: x1 = (-b / (2 * a)) print("%.2f" % x1) elif disc >0: x1 = (-b - (disc ** 0.5)) / (2 * a) x2 = (-b + (disc ** 0.5)) / (2 * a) print(min("%.2f" % x1, "%.2f" % x2), max("%.2f" % x1, "%.2f" % x2), sep=' ')
Итог: 13 тестов код проходит, а на 14-ом ловлю ошибку «Wrong answer(WA)» UPD.Итог2.0: Примитивная ликвидация %f форматтера спасла ситуацию и код прошёл все тесты, после чего на пол экрана проявилась табличка с зелёным шрифтом «Решена полностью». Спасибо всем причастным к решению моей проблемы как советами, так и комментариями, задачу требовалось решить зная лишь 3 типа данных, условные и логические операторы — задача выполнена. Рабочий код ниже:
a = float(input()) b = float(input()) c = float(input()) x1 = float(0.00) x2 = float(0.00) if a == 0 and b == 0 and c == 0: print("Infinite solutions") elif a == 0 and b != 0 and c != 0: x1 = -(c / b) print(x1) elif a == 0 and b == 0 and c != 0: print("No solution") # no sol elif a == 0 and b != 0 and c == 0: x1 = 0 print(x1) elif b == 0 and c == 0 and a != 0: x1 = 0 print(x1) elif c == 0 and b != 0 and a != 0: x1 = 0 x2 = -(b / a) print(min(x1, x2), max(x1, x2), sep=' ') elif b == 0 and a != 0 and c != 0: if (-(c / a)) < 0: print("No solution") else: x1 = (-c / a) ** 0.5 x2 = -((-c / a) ** 0.5) print(min(x1, x2), max(x1, x2), sep=' ') elif a != 0 and b != 0 and c != 0: disc = (b ** 2) - (4 * a * c) # discriminant if disc < 0: print("No solution") elif disc == 0: x1 = (-b / (2 * a)) print("%.2f" % x1) elif disc >0: x1 = (-b - (disc ** 0.5)) / (2 * a) x2 = (-b + (disc ** 0.5)) / (2 * a) print(min(x1, x2), max(x1, x2), sep=' ')
Укороченный код:
a = float(input()) b = float(input()) c = float(input()) x1 = float(0.00) x2 = float(0.00) if a == 0 and b == 0 and c == 0: print("Infinite solutions") elif a == 0 and b != 0 and c != 0: x1 = -(c / b) print(x1) elif a == 0 and b == 0 and c != 0: print("No solution") # no sol elif a == 0 and b != 0 and c == 0: x1 = 0 print(x1) else: disc = (b ** 2) - (4 * a * c) # discriminant if disc == 0: x1 = (-b) / (2 * a) print(x1) elif disc > 0: x1 = (-b - (disc ** 0.5)) / (2 * a) x2 = (-b + (disc ** 0.5)) / (2 * a) print(min(x1, x2), max(x1, x2), sep=' ') elif disc < 0: print("No solution")
Найти корни квадратного уравнения
Таким образом, программа для нахождения корней квадратного уравнения должна иметь три ветви условного оператора.
Функция float преобразует переданный ей аргумент в вещественное число.
import math print("Введите коэффициенты для уравнения") print("ax^2 + bx + c = 0:") a = float(input("a = ")) b = float(input("b = ")) c = float(input("c = ")) discr = b ** 2 - 4 * a * c print("Дискриминант D = %.2f" % discr) if discr > 0: x1 = (-b + math.sqrt(discr)) / (2 * a) x2 = (-b - math.sqrt(discr)) / (2 * a) print("x1 = %.2f \nx2 = %.2f" % (x1, x2)) elif discr == 0: x = -b / (2 * a) print("x = %.2f" % x) else: print("Корней нет")
Примеры выполнения кода:
Введите коэффициенты для уравнения ax^2 + bx + c = 0: a = 2 b = 4 c = 2 Дискриминант D = 0.00 x = -1.00
Введите коэффициенты для уравнения ax^2 + bx + c = 0: a = 3.2 b = -7.8 c = 1 Дискриминант D = 48.04 x1 = 2.30 x2 = 0.14
Введите коэффициенты для уравнения ax^2 + bx + c = 0: a = 8 b = 4 c = 2 Дискриминант D = -48.00 Корней нет
Обратите внимание, что для данной программы коэффициент a не должен быть равен нулю. Иначе в теле условного оператора будет происходить попытка деления на 0, что приведет к аварийному завершению программы.
Если a = 0, то квадратное уравнение превращается в линейное, которое решается иным способом. Оно всегда имеет один корень.
X Скрыть Наверх
Решение задач на Python
