在没有像 sympy 这样的外部库的情况下拆分多项式表达式中的项
splitting terms in a polynomial expression without external libraries like sympy
假设我输入了 "1+2x+3x^2"
或 "1-2x+3x^2"
我如何创建一个函数来拆分并列出每个术语,例如 [1, 2x, 3x^2]
或 [1, -2x, 3x^2]
。
我已经为此困惑了一段时间,目前我正在使用的函数仅在“+”处分开,因此要获得像 [1, -2x, 3x^2]
这样的列表,我必须输入
"1+-2x+3x^2"
注意:我不会使用复杂的多项式,而是使用不包含括号或分数的看起来简单的多项式。
import re
s = '1+2x^2-3x^-3'
s = re.sub('\^-', 'neg', s) # trick to deal the negative powers
print(s)
s=s.replace('-','+-')
s=s.replace('neg','-')
sub = s.split('+')
print(sub)
这将正确拆分您的负幂变量。
假设我输入了 "1+2x+3x^2"
或 "1-2x+3x^2"
我如何创建一个函数来拆分并列出每个术语,例如 [1, 2x, 3x^2]
或 [1, -2x, 3x^2]
。
我已经为此困惑了一段时间,目前我正在使用的函数仅在“+”处分开,因此要获得像 [1, -2x, 3x^2]
这样的列表,我必须输入
"1+-2x+3x^2"
注意:我不会使用复杂的多项式,而是使用不包含括号或分数的看起来简单的多项式。
import re
s = '1+2x^2-3x^-3'
s = re.sub('\^-', 'neg', s) # trick to deal the negative powers
print(s)
s=s.replace('-','+-')
s=s.replace('neg','-')
sub = s.split('+')
print(sub)
这将正确拆分您的负幂变量。