2017-03-22 11 views
0

文字列をSymPy式に変換しようとしています。私はsympify()parse_expr()を試しましたが、どちらもエラーを返しています。代替方法を使用してこれらのエラーを修正するか、回避するにはどうすればよいですか?私はPython 3.4を使用しています。文字列をSymPy式に変換しますか?

from sympy import * 
s = 'C+O*2' 
expr = sympify(s) 

from sympy.parsing.sympy_parser import parse_expr 
s = 'C+O*2' 
expr = parse_expr(s) 

これらの機能の両方が次のエラーを返す:

File "C:\...\sympy\core\mul.py", line 182, in flatten 
    r, b = b.as_coeff_Mul() 

TypeError: as_coeff_Mul() missing 1 required positional argument: 'self' 

答えて

1

sympifyためdocumentationが説明するように:

[T]he O is interpreted as the Order object (used with series) and it raises an error when used improperly[.]

それはいくつかの回避策を提案し、私が好む1を使用することです衝突地方:

>>> from sympy.abc import _clash1 
>>> sympify("C+O*2", locals=_clash1) 
C + 2*O 
+0

パーフェクト。ありがとうございました! – zdub

関連する問題