【发布时间】:2021-09-27 17:05:27
【问题描述】:
我正在制作一棵二叉树。但是每当在比较 temp.data 和变量 val 的 while 循环时,我都会收到此错误:
"tree.py", line 32, in <module>
tree.insert(30)
File "tree.py", line 22, in insert
if temp.data < val:
AttributeError: 'NoneType' object has no attribute 'data'
我看到了同样的问题并尝试过,但不确定我在这里做错了什么。二叉树的代码是
class Node:
def __init__(self, val):
self.data = val
self.left = None
self.right = None
class binaryTree:
def __init__(self):
self.root = None
def insert(self, val):
if self.root is None:
self.root = Node(val)
return
temp = self.root
while temp is not None:
#here I am getting the data
print(temp.data)
if (temp.data > val):
temp = temp.left
if temp.data < val:
temp = temp.right
if temp.data > val:
temp.left = Node(val)
else:
temp.right = Node(val)
tree = binaryTree()
tree.insert(50)
tree.insert(30)
tree.insert(20)
即使在打印时,我也能正确获取数据并且输入也很好。 提前致谢。
【问题讨论】:
标签: python binary-tree nonetype