编写代码是为了计算树中的节点数。但是,我得到了一个简单的类型错误,它不断地引用我的TreeNode类。我检查了拼写和排字,但仍然找不到错误。请帮帮忙
这是错误
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
发布于 2019-11-04 20:06:15
t1.Root()
可能应该是t1.Root
,因为您的根是一个TreeNode对象,而不是查找根的函数。
在访问node.children()
时,您可能会碰到类似的墙。
https://stackoverflow.com/questions/58700292
复制相似问题