设计函数求一元多项式的导数。 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。 输出格式: 以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。,把该题的代码给我
时间: 2024-02-17 10:02:29 浏览: 42
好的,以下是该题的代码实现:
```python
def derivative(poly):
# 将输入的多项式按照指数递降排序
poly.sort(key=lambda x: x[1], reverse=True)
# 计算每一项的导数
for i in range(len(poly)):
if poly[i][1] != 0:
poly[i] = (poly[i][0] * poly[i][1], poly[i][1] - 1)
else:
poly[i] = (0, 0)
# 去除系数为0的项
poly = [x for x in poly if x[0] != 0]
# 将多项式转换成字符串输出
res = ""
for i in range(len(poly)):
if i != 0:
res += " "
res += str(poly[i][0]) + " " + str(poly[i][1])
return res
# 示例输入和输出
poly = [(3, 4), (2, 3), (-1, 1), (5, 0)]
print(derivative(poly)) # 12 3 6 2 -1 0
```
该函数接受一个多项式的列表作为输入,每一项用一个元组表示,第一个元素表示系数,第二个元素表示指数。函数会返回该多项式的导数,也是一个多项式的列表,每一项同样用一个元组表示。最后将多项式转换成字符串输出。
阅读全文