2011-04-15 132 views
0

好的我有我的霍夫曼類似乎工作正常。然而,當我試圖使我的二叉樹,我繼續得到一個錯誤消息,說''全球名稱編碼未定義''當我的函數的名稱是編碼。有人可以告訴我爲什麼嗎?下面是我的代碼。謝謝霍夫曼編碼幫助

def get_encoding(self): 
     # Huff is a previously defined function that generates the tree 
     node=self.Huff() 
     dic={} 
     if node.char: 
      if not self: 
       dic[node.char]='0' 
      else: 
       dic[node.char]=self 
     else: 
       encoding(self+'0',node.left) 
       encoding(self+'1',node.right) 

回答

0

您的函數的名稱不是encoding,這是get_encoding

+0

這是錯字。即使我有了get_encoding,它仍然會給我提供相同的錯誤消息 – steff 2011-04-15 00:26:05

+0

@steff,這就是爲什麼cut-n-paste是提問的好方法。 :) – sarnold 2011-04-15 00:27:52

1

它看起來像你試圖做一個遞歸調用get_encoding,但簽名不同,因爲定義不需要2個參數。您嘗試執行self+'0'self+'1'時可能也存在問題。

+0

@ John。感謝您的答覆。無論如何,我注意到,我也做了更正,但由於某些未知的原因,它仍然給出了同樣的錯誤信息 – steff 2011-04-15 01:14:10

+0

什麼是確切的錯誤信息? – 2011-04-15 01:18:46

+0

@ Johnthat'全球名稱get_encoding未定義' – steff 2011-04-15 02:26:55