python计算一个多项式_急求 python 使用class定义多项式P(x)=a0=a1x+a2x^2……anx^n 使用__init__()产生一个列表记录a的值...

展开全部

^pip install futurefrom __future__ import division, unicode_literals, print_function

from future.utils import python_2_unicode_compatible

import re

@python_2_unicode_compatible

class P(object):

def __init__(self,a):

self.a=a

def __add__(self,p):

a,b=self.a, p.a

if len(self.a)

a,b=b,a

for i in range(len(b)):

a[i]+=b[i]

return P(a)

def der(self):

a=[]

for i,j in enumerate(self.a,1):

a.append(i*j)

return self._getStr('dP(x)/dx = ',a)

def ind(self):

a=[]

for i,j in enumerate(self.a,1):

a.append(i/j)

return self._getStr('P(x)dx = ',['c']+a)

def _getStr(self,prefix='P(x) = ',a=None):

if not a:

a=self.a

s=''

for i,j in enumerate(a):

if j:

if 0==i:

s=j

else:

if not s:

s='{}x^{}'.format(j,i)

else:

s='{} + {}x^{}'.format(s,j,i)

if not s:

s='0'

s=re.sub(r'x\^1 ','x ',s)

s=re.sub(r'^1x|e68a84e8a2ad62616964757a686964616f31333363356536 1x',' x',s)

return '{}{}'.format(prefix,s)

def __str__(self):

return self._getStr()

def main():

p1=P([1,2,3])

p2=P([0,1,0,1,6,77,8])

print('p1:',p1)

print('p2:',p2)

print('p1+p2:',p1+p2)

print('derivative of p1:',p1.der())

print('indefinite of p2:',p2.ind())

if __name__=='__main__':

main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值