【发布时间】:2016-04-07 22:37:53
【问题描述】:
我正在 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 行,阶乘
返回 n * 阶乘(n - 1)
NameError: 名称“阶乘”未定义
如果有人能指出我正确的方向,将不胜感激:)
【问题讨论】:
标签: python-3.x pycharm