没有显示输出python,没有错误显示

时间:2016-09-22 21:51:39

标签: python-3.x

让我们考虑具有整数系数的单个变量x中的多项式:例如,3x ^ 4 - 17x ^ 2 - 3x + 5.多项式的每个项可以表示为一对整数(系数,指数)。多项式本身就是这种对的列表。

我们有以下约束来保证每个多项式都有唯一的表示:

  • 条款按指数
  • 的降序排序
  • 没有术语具有零系数
  • 没有两个术语具有相同的指数
  • 指数总是非负的

例如,前面介绍的多项式表示为

[(3,4),( - 17,2),( - 3,1),(5,0)]

零多项式0表示为空列表[],因为它没有非零系数的项。

为以下操作编写Python函数:

addpoly(p1,p2)?

def addpoly(p1,p2):
    p1=[]
    p2=[]
    for i in range(0,len(p1)):
        for j in range(0,len(p2)):
            L=[]

            if p1[i][1]==p2[j][1]:
                L=L[p1[i][0]+p2[j][0]][p1[i][1]]
            elif p1[i][1]!=p2[j][1]:
                L=L+p1[i][j]
                L=L+p2[i][j]
        print("L")

2 个答案:

答案 0 :(得分:0)

您正在将p1和p2参数重新分配给函数顶部的空列表。这意味着您将始终检查<div id="bubbles"> <div data-active="true" onclick="bubbles(0); clearInterval(intrvl);" style="background:#da2225;"></div> <div onclick="bubbles(1); clearInterval(intrvl);"></div> <div onclick="bubbles(2); clearInterval(intrvl);"></div> </div> <div id="bubblecontent"> <h2>Header 1</h2> </div>,这是一个空范围。换句话说,循环中的任何内容都不会被执行。这就是为什么你没有看到任何输出。您没有看到任何错误消息,因为您的语法没有任何问题,问题在于逻辑。

我的数学技能是不存在的,所以我无法评论代码中大多数逻辑的准确性,但肯定你需要摆脱函数的前两行(for i in range(0, 0)和{{ 1}})或你的功能什么都不做。

此外,请务必打印变量p1 = []而不是字符串p2 = []以打印列表:

L

答案 1 :(得分:0)

尝试此代码

def addpoly(p1,p2):
    L=[]
    for i in range(0,len(p1)):
        for j in range(0,len(p2)):
            if p1[i][1] == p2[j][1] and p1[i][0]+p2[j][0] != 0 :
                L.append((p1[i][0]+p2[j][0],p1[i][1]))
            elif p1[i][1] == p2[j][1] and p1[i][0]+p2[j][0] == 0 :
                pass
            elif i == j:
                L.append(p2[i])
                L.append(p1[i])

    return (L)
相关问题