python写程序求多项式的和_用正则编译和搜索在python中计算区分多项式的系数
測試多項式‘2x^3+4x^2+8x-16‘下面的代碼輸出6、8作為區分多項式的系數。但是,輸出應該是6、8、8。為什么函數getNewCoEffents會產生錯誤的結果?什么是產生正確結果的好方法?def getNumbers(polynomial):
regex = re.compile(r"[+-]?\d+(?:\.\d+)?")
return regex.findall(polynomial)
def formatNumbers(numbers):
formattedNumbers = []
for e in numbers:
if (e[0] == '+'):
formattedNumbers.append(e[1:])
else:
formattedNumbers.append(e)
return formattedNumbers
def getNumberPositions(polynomial, numbers):
numberPositions = []
for e in numbers:
tmp = [m.start() for m in re.finditer(e, polynomial)]
for f in tmp:
if f not in numberPositions:
numberPositions.append(f)
return sorted(numberPositions)
def getNewCoefficients(polynomial, numberPositions, numbers):
tmp = '0'
newCoefficients = []
for i in range(0,len(numberPositions)):
if numberPositions[i] + 1 < len(polynomial):
if polynomial[numberPositions[i] + 1] == '+' or polynomial[numberPositions[i] + 1] == '-':
newCoefficients.append(int(numbers[i])*int(tmp))
elif numberPositions[i] - 1 > 0:
if polynomial[numberPositions[i] - 1] == '+' or polynomial[numberPositions[i] - 1] == '-':
newCoefficients.append(int(numbers[i]))
tmp = numbers[i]
return newCoefficients
總結
以上是生活随笔為你收集整理的python写程序求多项式的和_用正则编译和搜索在python中计算区分多项式的系数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python实现一个简单的加法计算器_P
- 下一篇: git clone github_Git