Математическая переменная в Python
Можно ли создать такую числовую переменную, значение которой можно будет объявить позже, либо вообще не объявлять? При этом она смогла бы свободно участвовать в математических выражениях, а ещё лучше, чтобы можно было бы определить её значение, с помощью уравнения.
Например если x + 2 = 8, то x = 6
Если это невозможно, то так и ответьте.
Ответы (1 шт):
Решаем уравнения с помощью модуля sympy (устанавливаем с помощью команды pip install sympy)
import sympy
from sympy.abc import x
# Если нужна какая-то нестандартная переменная, например, не однобуквенная,
# которой нет в модуле sympy.abc то создаете ее через sympy.symbol:
# wtf = sympy.symbol("wtf")
# Переносим все в одну сторону, чтобы с другой стороны получилось 0:
# x + 2 - 8 = 0
# Все что перенесли превращаем в функцию
func = x + 2 - 8
# Решаем уравнение func(x) = 0
results = sympy.solve(func)
# Выводим все корни
print(results) # [6]
Выведется список с одним элементом.
Аналогично можно, например, решать и квадратные уравнения (и другие типы уравнений), но правда в отличие от того что учат в школе, квадратные уравнения будут давать всегда два корня - либо действительные, либо комплексные:
func = x ** 2 - 4
results = sympy.solve(func)
print(results) # [-2, 2]
func = x ** 2 + 4
results = sympy.solve(func)
print(results) # [-2*I, 2*I]