On SymPy 0.7.5(Python 2.7.8-64-bit)。当常数项为零或不存在时,我无法从表达式中得到常数项(不存在的常数与零常数相同,对吗?)。
我可以从expr.coeff(x, 0)
的表达式中获取常量项。 E.g:
isympy ## Load sympy etc...
(x + 3).coeff(x, 0) #-> 3 ok
(x).coeff(x, 0) #-> 0 ok
(4*x**2 + 3*x).coeff(x, 0) #-> 0 ok
现在,在这些情况下如何才能获得0?
(4*x).coeff(x, 0) #-> 4
(4*x**2).coeff(x, 0) #-> 4 why not 0?!
我确信这已经被问到了&以前记录过,但至少没有一些尴尬的解决方法,我找不到答案。 谢谢 达里奥
编辑交互式会话的完整输出:
python
Python 2.7.8 (default, Sep 14 2014, 18:20:38)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import sympy
>>>
>>> x= sympy.symbols('x')
>>> (4*x).coeff(x, 0)
4
>>> sympy.__version__
'0.7.5'
答案 0 :(得分:0)
解决方案:升级至症状0.7.6。除非我做一些愚蠢的事情,否则看起来这是一个错误0.7.5。
python
Python 2.7.8 (default, Sep 14 2014, 18:20:38)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sympy
>>> x= sympy.symbols('x')
>>> (4*x).coeff(x, 0)
0
>>> sympy.__version__
'0.7.6'
答案 1 :(得分:0)
仅需注意,从内存中看,类似 (4 * x + 3 * y + 7).coeff(x,0) 给 3 * y + 7 。 尚未找到一种获得常数项的优雅方法。