在多项式表达式中拆分项,而没有诸如sympy [closed]之类的外部库

问题描述 投票:0回答:1

说我输入了"1+2x+3x^2""1-2x+3x^2"

我如何创建一个拆分并列出每个术语的列表,例如[1, 2x, 3x^2][1, -2x, 3x^2]。我已经为此感到困惑了一段时间,目前我正在使用的函数im仅在“ +”处分开,因此要获得类似[1, -2x, 3x^2]的列表,我必须输入"1+-2x+3x^2"

注意:我将不使用复杂的多项式,而是使用简单的,不包含括号或分数的多项式。

python python-3.x math polynomials polynomial-math
1个回答
1
投票
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)

这将正确拆分负功率变量。

© www.soinside.com 2019 - 2024. All rights reserved.