在Windows 8.1上使用python 3.5.1 64位,我安装了sympy,1.0.
以交互方式运行
from sympy import *
p = symbols('p')
factor('8 + 8/(2+p)')
结果是8 *(p 3)/(p 2).
如果我转到http://live.sympy.org/运行sympy 0.7.6和python 2.7.5并输入相同的等式并按下评估按钮,我得到了正确的答案.
8 + 8/(2+p)
没有减少.为什么我在Python 3.5.1和sympy 1.0中得到了错误的答案?
解决方法:
你没有得到错误的答案.所有sympy.factor
确保的是多项式在有理数上被分解为不可约分数.
请注意
因此,版本1.0中因子给出的形式是正确的,并且表示超过有理数的不可简化的分数.
更新:我在SymPy Live上运行了你的代码,你在使用因子时获得完全相同的分数,而没有8分解.他们是一样的.请注意,Steven Rumbalski说,评估和保理是两回事.