簡體   English   中英

將字符串轉換為SymPy表達式?

[英]Convert a string to a SymPy expression?

我正在嘗試將字符串轉換為SymPy表達式。 我試過sympify()parse_expr()但是都返回錯誤。 如何糾正這些錯誤或使用替代方法解決這些錯誤? 我正在使用Python 3.4。

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'

如症狀文檔所述:

[ O ] O被解釋為Order對象(與series一起使用),如果使用不當,則會引發錯誤。

它提出了一些解決方法,我更喜歡使用沖突的本地方法:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM