您的位置:首页 > 编程语言 > Python开发

Python实现多项式加减乘法

2015-04-06 21:44 2161 查看
”’

1、实现多项式的加减乘运算

2、系数和指数仅限整数

3、可连续运算

”’

源代码:

class poly:
__a = [0]*20 #存放第一个输入的多项式和运算结果
__b = [0]*20#存放输入的多项式
__result = [0]*20#结果

def __Input(self,f):
n = input('依序输入二项式的系数和指数(指数小于10):').split()
for i in range(int(len(n)/2)):
f[ int(n[2*i+1])] = int(n[2*i])
self.__output(f)

def __add(self,a,b):  #加法函数
return [a[i]+b[i] for i in range(20)]

def __minus(self,a,b):  #减法函数
return [a[i]-b[i] for i in range(20)]

def __mul(self,a,b):
self.__result = [0]*20
for i in range(10):#第一个循环:b分别于a[0]到a[9]相乘
for j in range(10):  #第二个循环:b[j]*a[i]
self.__result[i+j] = int(self.__result[i+j]) + int(a[i]*b[j])
return self.__result

def __output(self,a):#输出多项式
b = ''
for i in range(20):
if a[i]> 0:
b = b+'+'+str(a[i])+'X^'+str(i)
if a[i]<0:
b = b+"-"+str(-a[i])+'X^'+str(i)
print(b[1::])

def control(self):
print ("二项式运算:\n")
self.__Input(self.__a)
while True:
operator = input('请输入运算符(结束运算请输入‘#’)')#self.Input(self.a)
if operator =='#':
return 0
else:
self.__b = [0]*20
self.__Input(self.__b)
self.__a = {'+':self.__add(self.__a,self.__b),'-':self.__minus(self.__a,self.__b),'*':self.__mul(self.__a,self.__b)}.get(operator)
print ('计算结果:',end='')
self.__output(self.__a)

POLY = poly()    #初始化类
POLY.control()   #通过选取操作符选择相应的运算
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: