Можно ли найти значение х в 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.")
Другие вопросы по тегам