编写程序实现两个多项式相加。例如:
p(x)=5x10+8x5-x+10
g(x)=3x8+x-3
f(x)+g(x)=5x10+8x5+3x8+7
输入格式:
在第一行输入第一个多项式。如p(x)=5x10+8x5-x+10输入是: 5 10, 8 5, -1 1, 10 0
在第二行输入第二个多项式。如g(x)=3x8+x-3输入是:3 8, 1 1, -3 0
在第三行输入x指数值,如x指数值是1,x2指数值是2。
输出格式:
对应输入的x指数值,输出多项式和
中这项的系数。
输入样例1:
在这里给出一组输入。例如:
5 10, 8 5, -1 1, 10 0
3 8, 1 1, -3 0
1
输出样例1:
在这里给出相应的输出。例如:
0
输入样例2:
在这里给出一组输入。例如:
5 10, 8 5, -1 1, 10 0
3 8, 1 1, -3 0
5
输出样例2:
在这里给出相应的输出。例如:
8
测试:
#多项式相加的函数
def sum_dict(m, n):
temp = {}
for k in m.keys() | n.keys(): #m.keys() | n.keys()表示在m或n的主键里
temp[k] = sum([d.get(k, 0) for d in (m, n)]) #d.get(k,0):获取主键为k的value,求和
return temp
list_a = input() #输入第一个多项式系数和指数列表
list_b = input()#输入第二个多项式系数和指数列表
a = input() #输入要查找的指数
list1 = list_a.split(',') #将list_a根据‘,’分隔
list2 = list_b.split(',') #将list_b根据‘,’分隔
dict1 = {}
dict2 = {}
for i in list1:
(value, key) = i.strip(' ').split(' ') #元素分拆为主键和值
dict1.update({key: int(value)}) #转化进元组字典
for i in list2:
(value, key) = i.strip(' ').split(' ')#元素分拆为主键和值
dict2.update({key: int(value)}) #转化进元组字典
new_dict = sum_dict(dict1, dict2) #调用sum_dict函数
for key in new_dict.keys():
if a == key:
print(new_dict.get(a, 0))#输出所找指数的x的系数
知识点: