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

Содержание
Введение
Пример
Использованные функции
Примеры уравнений их корни
Похожие статьи

Введение

Квадратные уравнения это уравнения вида

a*x^2 + b*x + c

x^2 и x подразумеваются по умолчанию, поэтому достаточно задать a, b и c - и сразу станет понятно как выглядит квадратное уравнение.

Пример решения

Первым делом проверим, что a, b и c это числа

from math import sqrt def quadratic_solve(a ,b, c): if not all( map( lambda p: isinstance(p, (int, float)), (a, b, c) ) ): raise TypeError("Not valid argument type") print("Types are OK") if a == 0: if b == 0: # a и b 0: решения нет return None, None return -c / b, None d = b ** 2 - 4 * a * c if d < 0: return None, None d_root = sqrt(d) divider = 2 * a x1 = (-b + d_root) / divider x2 = (-b - d_root) / divider if d == 0: x2 = None elif x2 > x1: x1, x2 = x2, x1 return x1, x2

Использованные функции

Здесь я использовал функции: all() , map() и лямбда функцию

Если что-то неясно - перейдите по ссылкам на функции либо посетите раздел «Функции»

Примеры уравнений их корни

Для проверки можно использовать следущие уравнения:

С одним корнем

x^2 - 2x + 1
a = 1, b = -2, c = 1
Корни: 1, None

5x^2 + 7x
a = 5, b = 7, c = 0
Корни: 0, None

С двумя корнями

x^2 + x -6
a = 1, b = 1, c = -6
Корни: -3, 2

Без решений

x^2 + x + 9
a = 1, b = 1, c = +9
Корни: None, None

Article author: Andrei Olegovich

Похожие статьи
Python
Математика в Python
Последовательность Рекамана на Python
Обучение программированию на Python
Banner image

Search this site

Subscribe to Telegram channel @aofeed to follow new articles and updates to old ones

Go to channel

@aofeed

Ask a question in the Telegram group

@aofeedchat

Contacts and cooperation:
I recommend our hosting beget.ru
Write to info@urn.su if you:
1. Want to write an article for our site or translate an article into your native language.
2. Want to place thematically relevant ads on the site.
3. Ads on my site pass maximum censorship. If you see an ad block unsuitable for school-age children, shocking or misleading - please contact us by e-mail
4. Found a mistake, inaccuracy, bug, etc. on the site. ... .......
5. Articles can be shared on social media by clicking a network icon: