簡體   English   中英

Python 樹數據結構,TypeError

[英]Python Tree data structure, TypeError

編寫的代碼旨在計算樹中的節點數。 但是,我收到一個簡單的類型錯誤,它一直引用我的 TreeNode class。 我檢查了拼寫和拼寫錯誤,但仍然找不到錯誤。 請幫忙

這是錯誤

    Traceback (most recent call last):
  File "C:/Users/Eli/.PyCharmCE2019.2/config/scratches/Tree.py", line 30, in <module>
    t1.addChild(t1.Root(),6)
TypeError: 'TreeNode' object is not callable

class TreeNode():
    def __init__(self, data= None, parent = None):
        self.data = data
        self.children = []
        self.parent = parent
class Tree():
    def __init__(self):
        self.Root = None
        self.size = 0
    def __len__(self):
        return self.size
    def root (self):
        return self.Root
    def children (self, node):
        return node.children()
    def addChild (self,parent,data):
        t = TreeNode (data,parent)
        if parent == None:
            self.Root = t
        else:
            parent.children.append(t)
        self.size +=1
    def printTreePreOrder(self,node):
        print(node.data)
        for n in node.children:
            self.printTreePreOrder(n)
if __name__ == "__main__":
    t1 = Tree()
    t1.addChild(None,5)
    t1.addChild(t1.Root(),6)

    cl = t1.children(t1.Root())
    for n in cl:
        t1.addChild(n,3)
        t1.addChild(n,9)
    t1.printTreePr

t1.Root()可能應該是t1.Root因為您的根是 TreeNode object 而不是 function 來查找根。

訪問node.children()時,您可能會遇到類似的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM