Можно ли найти значение х в Python? то есть, запрашивая python для решения уравнения, такого как 2x + 23 - 7x, когда x не является предварительно определенной переменной
То, что я хочу, это программа, которая может определить значение x
из уравнения, когда x
еще не определено, т.е. не является переменной Python. Просто пример ниже, а не реальная вещь.
sol = eval("input please type the equation: ")
#i.e sol = 32x - 40
print(sol)
3 ответа
Я не знаю ни одного встроенного способа сделать это, но Sympy
Библиотека построена именно для этого материала. Модуль решателей в Sympy может быть использован для решения линейных уравнений. (Здесь) ссылка на документацию.
Явный пример использования sympy
import sympy
from sympy.abc import x
print sympy.solve(32*x-40,"x")
print sympy.solve(2*x+23-7*x,"x")
Дает в качестве вывода:
[5/4]
[23/5]
Обратите внимание, что существует отдельный вопрос анализа пользовательского ввода. То есть, как мы берем строку "32x-40" и превращаем ее в выражение 32*x-40
, Это может быть нетривиальной задачей в зависимости от сложности уравнений, которые вы хотите смоделировать. Если вы заинтересованы в этом, я бы посмотрел в pyparsing
,
Вы можете просто использовать sympy. Затем вы можете сделать это в команде печати. Похоже на это.
import sympy
from sympy.abc import x
print sympy.solve(nub1*x+nub2-nub3*x,"Whatever you want here.")