Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Symphy v1.0因子是否给出了错误的答案(2*4)和#x2B;(2*4)/(2&x2B;x)?_Python_Sympy - Fatal编程技术网

Python Symphy v1.0因子是否给出了错误的答案(2*4)和#x2B;(2*4)/(2&x2B;x)?

Python Symphy v1.0因子是否给出了错误的答案(2*4)和#x2B;(2*4)/(2&x2B;x)?,python,sympy,Python,Sympy,在Windows8.1上使用Python3.5.1 64位,我安装了sympy,1.0 交互运行 from sympy import * p = symbols('p') factor('8 + 8/(2+p)') 结果是8*(p+3)/(p+2) 如果我运行Sympy0.7.6和Python2.7.5,输入相同的等式并点击evaluate按钮,我会得到正确的答案 8 + 8/(2+p) 没有减价。为什么我在Python 3.5.1和sympy 1.0中得到了错误的答案?您没有得到错误的

在Windows8.1上使用Python3.5.1 64位,我安装了sympy,1.0

交互运行

from sympy import *
p = symbols('p')
factor('8 + 8/(2+p)')
结果是
8*(p+3)/(p+2)

如果我运行Sympy0.7.6和Python2.7.5,输入相同的等式并点击evaluate按钮,我会得到正确的答案

8 + 8/(2+p)  

没有减价。为什么我在Python 3.5.1和sympy 1.0中得到了错误的答案?

您没有得到错误的答案。所有这些确保了多项式被分解成有理数上的不可约分数

注意

因此,1.0版中由
factor
给出的形式是正确的,表示有理数上的不可约分数

更新:我在SymPy Live上运行了您的代码,在使用
因子
时,您得到了完全相同的分数,没有计算出8个因子。它们是一样的。请注意,正如Steven Rumbalski所说,评估和保理是两件不同的事情。

使用指向您的链接,前提是我输入了:

>>> p = symbols('p')
... factor('8 + 8/(2+p)')
(8p+24)/(p+2)

>>> '8 + 8/(2+p)'
8+8/(2+p)

正如您所见,分解表达式和计算表达式之间存在差异。SymPy 0.7.6结果<代码>(8p+24)/(p+2)与您提供的SymPy 1.0结果<代码>8*(p+3)/(p+2)相当,除了<代码>8已作为SymPy 1.0中的一个单独因素被删除。

啊,抱歉,我在更新答案时没有看到这一点。是的,我对SymPy一无所知,但我可以使用交互式口译员,做基础数学。:)我对你的答案投了赞成票,因为你知道你的东西。