喃梦物语


私信TA

用户名:uq_88529018583

访问量:3331

签 名:

艾小鹿? 习之澜?

等  级
排  名 333
经  验 5296
参赛次数 0
文章发表 116
年  龄 0
在职情况 学生
学  校 阳光学院
专  业 数据科学与大数据技术

  自我简介:

#代码量有点长,但是思路简单、易于理解
参考代码:

#输入

a=int(input())

bb=list(map(int,input().strip().split()))

#列一个表,存储多项式的次方

s=bb[:]

ls=[i for i in range(a,1,-1)]

#第一个数不用考虑’+‘号

if s[0]:

    if s[0]==1:

        print(end='x^')

        print(ls[0],end='')

    elif s[0]==-1:

        print(end='-x^')

        print(ls[0],end='')

    else:

        print(s[0],end='x^')

        print(ls[0],end='')

#从第2-》倒数第3个,情况相同

        #注意:特殊情况:系数为1时不显示1,只显示x^,

        #当0时不操作(跳过)

for i in  range(1,a-1):

    if s[i]==0:

        continue

    elif s[i]>0:

        if s[i]==1:

            print('+',end='x^')

            print(ls[i],end='')

        else:    

            print('+'+str(s[i]),end='x^')

            print(ls[i],end='')           

    else :   #是s[i]<0

        if s[i]==-1:

            print('-',end='x^')

            print(ls[i],end='')

        else:    

            print('-'+str(abs(s[i])),end='x^')

            print(ls[i],end='')            

#倒2个不同,系数+x,特殊情况:系数为1时不显示1

if s[-2]:

    if s[-2]>0:

        if s[-2]==1:

            print('+x',end='')

        else:

            print('+'+str(abs(s[-2]))+'x',end='')

    else:  #s[-2]<0

        if s[-2]==-1:

            print('-x',end='')

        else:

            print('-'+str(abs(s[-2]))+'x',end='')  

#是多少直接相+,或相-

            #相加(补+号)

            #相减(直接输出)

if s[-1]:

    if s[-1]>0:

        print('+'+str(s[-1]))

    else: #s[-1]<0

        print(s[-1])


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区