PAT 1010 一元多项式求导 (25分) (python 3)

设计函数求一元多项式的导数。(注:x​n​​(n为整数)的一阶导数为nx​n−1​​。)
输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。
输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。
输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0

代码

temp=list(map(int,input().split()))
ans=[]
if temp[1]==0:
    print('0 0')
else:
    for i in range(0,len(temp),2):
        m=temp[i]*temp[i+1]
        n=temp[i+1]-1
        if n==-1:
            break
        ans.append(m)
        ans.append(n)
    flag=0
    for i in ans:
        if flag==0:
            flag=1
            print(i,end='')
        else:
            print(' %d'%i,end='')

思路:
1、注意0多项式是指数和系数都为0,当指数为0时产生0多项式
2、控制输出的格式

参考大佬的代码:
添加链接描述

a = input().split()
x = []
i = 0
while i<len(a):
    m = int(a[i])*int(a[i+1])
    n = int(a[i+1])-1
    i+=2
    if n==-1:
        continue
    x.append(str(m))
    x.append(str(n))
if len(x)==0:
    print('0 0')
else:
    print(' '.join(x).strip())

不愧是大佬,输出简单好多

发布了23 篇原创文章 · 获赞 0 · 访问量 363

猜你喜欢

转载自blog.csdn.net/qq_46258819/article/details/104773688