非常基本的 SymPy 错误
Very Basic SymPy Error
我正在尝试学习 SymPy。我写了以下内容并抛出错误。我什至还没有接触到任何复杂的东西...
from sympy.solvers import solve
from sympy import Symbol
string = "10x+4=7"
#equation = raw_input("Enter an equation")
left, right = string.split('=')
string = left + "-(" + right + ")";
print string
x = Symbol('x')
print solve(string, x)
此代码引发错误:
raise SympifyError('could not parse %r' % a, exc)
sympy.core.sympify.SympifyError: Sympify of expression 'could not parse u'10x+4-(7)'' failed, because of exception being raised:
SyntaxError: invalid syntax (<string>, line 1)
为什么会这样?
确实非常基础。
python
中的乘法是通过 *
字符实现的。
因此,您应该string
设置如下:
string = "10*x+4=7"
如果您想在方程式中的每个 x 前面自动插入 *
字符,您可以定义一个像这样的函数来完成这项工作:
def insert_asterisks(equation):
return equation.replace('x', '*x')
下面是这个函数的使用示例:
In [16]: string = "10x+4=7"
In [17]: string = insert_asterisks(string)
In [18]: print string
10*x+4=7
我正在尝试学习 SymPy。我写了以下内容并抛出错误。我什至还没有接触到任何复杂的东西...
from sympy.solvers import solve
from sympy import Symbol
string = "10x+4=7"
#equation = raw_input("Enter an equation")
left, right = string.split('=')
string = left + "-(" + right + ")";
print string
x = Symbol('x')
print solve(string, x)
此代码引发错误:
raise SympifyError('could not parse %r' % a, exc)
sympy.core.sympify.SympifyError: Sympify of expression 'could not parse u'10x+4-(7)'' failed, because of exception being raised:
SyntaxError: invalid syntax (<string>, line 1)
为什么会这样?
确实非常基础。
python
中的乘法是通过 *
字符实现的。
因此,您应该string
设置如下:
string = "10*x+4=7"
如果您想在方程式中的每个 x 前面自动插入 *
字符,您可以定义一个像这样的函数来完成这项工作:
def insert_asterisks(equation):
return equation.replace('x', '*x')
下面是这个函数的使用示例:
In [16]: string = "10x+4=7"
In [17]: string = insert_asterisks(string)
In [18]: print string
10*x+4=7