【发布时间】:2022-09-23 13:47:33
【问题描述】:
我试图弄清楚如何在 python 中为二叉树编写代码,并且这个错误不断出现,因为没有定义某个函数。
class Node:
def __init__(self , value):
self.v = value
self.right = None
self.left = None
def insert(self , value):
if self.value:
if value < self.value:
if self.left is None:
self.left = Node(value)
else:
self.left.insert(value)
elif value > self.value:
if self.right is None:
self.right = Node(value)
else:
self.right.insert(value)
else:
self.value = value
# def in_order_traversal(self):
# def print(self):
# self.in_order_traversal()
if __name__ == \'__main__\':
r = Node
r.Node(50)
r.insert(30)
r.insert(20)
这段代码给我的错误是 \"名称\'节点\'未定义\"
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Input In [16], in <cell line: 1>()
----> 1 class Node:
2 def __init__(self , value):
3 self.v = value
Input In [16], in Node()
21 # def in_order_traversal(self):
22
23 # def print(self):
24 # self.in_order_traversal()
25 if __name__ == \'__main__\':
---> 26 r = Node
27 r.Node(50)
28 r.insert(30)
NameError: name \'Node\' is not defined
怎么了?我需要做什么?
-
请包括完整的追溯错误。虽然我怀疑它在
r.Node(50)线上抱怨。r = Node和你r.Node(50)的目的是什么? -
@ewokx 我编辑了带有回溯错误的问题
-
你确定你的代码中有正确的缩进吗?在回溯中,
if __name__ -- \'__main__\':代码似乎被缩进以考虑在class Node块内。
标签: python linked-list binary-tree