我需要使用有效的python语法转换字符串,例如:
'1+2**(x+y)'
Run Code Online (Sandbox Code Playgroud)
并获得等效的LaTeX:
$1+2^{x+y}$
Run Code Online (Sandbox Code Playgroud)
我尝试过sympy的乳胶功能,但它处理的是实际的表达式,而不是它的字符串形式:
>>> latex(1+2**(x+y))
'$1 + 2^{x + y}$'
>>> latex('1+2**(x+y)')
'$1+2**(x+y)$'
Run Code Online (Sandbox Code Playgroud)
但要做到这一点,它需要将x和y声明为"符号"类型.
我想要更直接的东西,最好是使用编译器模块中的解析器.
>>> compiler.parse('1+2**(x+y)')
Module(None, Stmt([Discard(Add((Const(1), Power((Const(2), Add((Name('x'), Name('y'))))))))]))
Run Code Online (Sandbox Code Playgroud)
最后但并非最不重要的,原因是:我需要生成那些乳胶snipptes,以便我可以在带有mathjax的网页中显示它们.
有什么简单的方法可以将数学公式转换为 Python 代码?可能是译者,网络参考资料,特定书籍章节,什么都行~
对于正则表达式,有Kodos 之类的程序和pythonregex.com 之类的网站,所以我希望公式符号和 Python 会有类似的东西。