将 ASCII 数学符号转换为 Python

Converting ASCII math notation to Python

我正在接受 ascii 数学符号的用户输入,并且需要在 sympy 库的帮助下在 python 中评估该输入。

例如,用户可能输入:

2x^2

我的理解是,要在 python 中评估此函数,它需要采用以下格式:

2*x**2

我的想法是,一定已经有一些库可以帮助进行符号转换,但我一直找不到任何...任何建议将不胜感激。

parse_expr 函数将帮助:

>>> from sympy.parsing.sympy_parser import (parse_expr, convert_xor, 
    standard_transformations, implicit_multiplication)
>>> parse_expr('2x^2',transformations=standard_transformations+
... (convert_xor,implicit_multiplication))
2*x**2