函数以两个列表(以元组为值)作为输入 我在脑海中按照算法来编写代码,但要正确地编写。在
——>首先将存储每个幂的系数所需的字典数乘以多项式p2的所有系数。在
然后将所有的字典系数相加,这些系数具有相同的幂次。在
def multpoly(p1,p2):
dp1=dict(map(reversed, p1))
dp2=dict(map(reversed, p2))
kdp1=list(dp1.keys())
kdp2=list(dp2.keys())
rslt={}
if len(kdp1)>=len(kdp2):
kd1=kdp1
kd2=kdp2
elif len(kdp1)<len(kdp2):
kd1=kdp2
kd2=kdp1
for n in kd2:
for m in kd1:
rslt[n]={m:0}
if len(dp1)<=len(dp2):
rslt[n][m+n]=rslt[n][m+n] + dp1[n]*dp2[m]
elif len(dp1)>len(dp2):
rslt[n][m+n]=rslt[n][m+n] + dp2[n]*dp1[m]
return(rslt)
如果我理解正确的话,你需要一个函数将两个多项式相乘并返回结果。以后,试着发布一个具体的问题。以下是适用于您的代码:
但是请注意,绝对有更好的方法来表示这些多项式,这样乘法运算更快更容易编码。你的口述想法稍微好一点,但仍然很混乱。可以使用一个列表,其中索引表示指数,值表示系数。例如,您可以将
2x^4 + 3x + 1
表示为[1, 3, 0, 0, 2]
。在相关问题 更多 >
编程相关推荐