문자열을 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'
sympify에 대한 문서 는 다음과 같이 설명합니다.
[T] 그는
O
Order 객체 (시리즈와 함께 사용)로 해석되며 부적절하게 사용하면 오류가 발생합니다 [.]
몇 가지 해결 방법을 제안하고 내가 선호하는 것은 충돌 로컬을 사용하는 것입니다.
>>> from sympy.abc import _clash1
>>> sympify("C+O*2", locals=_clash1)
C + 2*O
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다