Математическая переменная в Python

Можно ли создать такую числовую переменную, значение которой можно будет объявить позже, либо вообще не объявлять? При этом она смогла бы свободно участвовать в математических выражениях, а ещё лучше, чтобы можно было бы определить её значение, с помощью уравнения. Например если x + 2 = 8, то x = 6

Если это невозможно, то так и ответьте.


Ответы (1 шт):

Автор решения: insolor

Решаем уравнения с помощью модуля 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]
→ Ссылка