2016-09-22 83 views
0

讓我們考慮具有整數係數的單變量x中的多項式:例如,3x^4 - 17x^2 - 3x + 5。多項式的每項可以表示爲一對整數(係數,指數)。多項式本身就是這樣的對的列表。不顯示輸出python,沒有顯示錯誤

我們有以下限制,以保證每一個多項式具有獨特的表示:

  • 條款降序指數
  • 的訂單號碼項具有零係數
  • 沒有兩個術語的排序同指數
  • 指數總是非負

例如,口服lynomial前面介紹過被表示爲

[(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

請縮進代碼,因爲現在很難看到你想要達到的目的。你最後打印「L」的另一件事是打算打印出列表L還是打印出來? – JKT

+0

您正在將p1和p2重新分配給函數開頭處的空列表。 – elethan

回答

0

您正在將p1和p2參數重新分配給函數頂部的空列表。這意味着您將始終檢查for i in range(0, 0),這是一個空的範圍。換句話說,你的循環中沒有任何東西會被執行。這就是爲什麼你沒有看到任何輸出。您沒有看到任何錯誤消息,因爲您的語法沒有任何問題,問題與邏輯有關。

我的數學技能是不存在的,所以我不能評論代碼中大多數邏輯的準確性,但肯定需要擺脫函數的前兩行(p1 = []p2 = [])或您的函數將無能爲力。

此外,確保打印可變L而不是字符串"L"打印列表:

print(L)