我运行了以下程序
from sympy import *
str = "Abs(a)*(β-α)**3/6"
print(str)
print(sympify(str))
执行结果如下。
Abs(a)*(β-α)**3/6
(-α + β)**3*Abs(a)/6
由于执行sympify
,表达式的顺序已更改。
我要匹配执行结果,如下所示。
Abs(a)*(β-α)**3/6
Abs(a)*(β-α)**3/6
我该怎么办?
我要执行此操作的原因是,在将表达式转换为mathml格式时,我不想让它看起来很奇怪。
str = "Abs(a)*(β-α)**3/6"
print(mathml(sympify(str),printer='presentation'))
执行上述程序时,将输出以下内容。
<mrow><mfrac><mrow><msup><mfenced><mrow><mrow><mo>-</mo><mi>α</mi></mrow><mo>+</mo><mi>β</mi></mrow></mfenced><mn>3</mn></msup><mo>⁢</mo><mrow><mfenced clos
e="|" open="|"><mi>a</mi></mfenced></mrow></mrow><mn>6</mn></mfrac></mrow>
如下图所示。
我希望公式看起来像下图。
答案 0 :(得分:1)
如果您将以下差异应用于SymPy,我认为您的案例会起作用:
b - a
(此更改将打印-a + b
而不是excel
。)