我在Python 3.5.0中创建了一个二叉树,我正在为它创建插入函数。但是当我在自己内部调用tree_insert
时,我遇到了一些问题,它给了我这个错误:
文件“D:/MadeUpPath/BinaryTree.py”,第10行,在tree_insert中
tree_insert(data,self.left)
NameError:未定义名称“tree_insert”
class BinaryTree():
def __init__(self, data):
self.left = None
self.right = None
self.data = data
def tree_insert(self, data):
if (data < self.data):
if (self.left != None):
tree_insert(data, self.left)
else:
self.left = BinaryTree(data)
else:
if (self.right != None):
tree_insert(data, self.right)
else:
self.right = BinaryTree(data)
经过进一步测试,我发现递归函数根本不起作用。我尝试了下面的代码,但确实给了我同样的错误:
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
文件“D:/MadeUpPath/BinaryTree.py”,第23行,在factorial中
返回n * factorial(n - 1)
NameError:名称'factorial'未定义
如果有人能指出我正确的方向,我将不胜感激:)
答案 0 :(得分:6)
{'a': [[{'InstanceID': u'BIOS.Setup.1-1:Slot3'}], [{'InstanceID': u'BIOS.Setup.1-1:Slot4'}], [{'InstanceID': u'BIOS.Setup.1-1:Slot2'}], [{'InstanceID': u'BIOS.Setup.1-1:Slot5'}], [{'InstanceID': u'BIOS.Setup.1-1:Slot1'}]]}
是 instance method ,通过tree_insert()
调用:
self.tree_insert()