2015-02-17 4 views
-1

Моей проблема: Я хотел бы получить значение переменного, зная Расчет (: «х = 5 * х - 20» -> х = 5)Python: Как получить значение переменных в вычислении?

Моего решения было просто Bruteforcing, поэтому я начинаю с 0 и каждый раз набираю один и один на каждом шаге и проверяю, работает ли он. Это было так, но, конечно, это действительно медленное число. В целом мне нужна функция:

getVar(sCalculation ["x = 5*x - 20"], sVar ["x"]) --> 5 

Как вы это сделаете? Если у вас есть вопросы, можете задать ниже:

ответ

0

Вам придется либо написать собственный синтаксический анализатор, который вычисляет x, либо просто использовать библиотеки, которые выполняют эту работу за вас. Об этом было много обсуждений на SO. Например, здесь: Simplest way to solve mathematical equations in Python.

Так в основном вы должны взглянуть на пути SymPy для решения уравнений: http://docs.sympy.org/latest/tutorial/solvers.html#solving-equations-algebraically

solve([x = 5*x - 20], [x]) 
{x: 5} 

Редактировать

Вот еще одна ссылка, что вы можете проверить: How to calculate expression using sympy in python

 Смежные вопросы

  • Нет связанных вопросов^_^