我正在研究二叉树并尝试找出代码,但我不断得到一个AttributeError:'Node'对象没有属性'data'
我们应该把它变成一个名字按字母顺序排序的树。
class Node:
def _init_(self):
self.left = None
self.right = None
self.data = list()
def addPerson(root,person):
if person < root.data[0]: #Person's Last name is A-K
if root.left is None:
root.left=Node()
root.left.data.apped(person)
else:
addPerson(root.left,person)
else:
if person >root.data[0]: # Person's last name is L-Z
if root.right is None:
root.right=Node()
root.right.data.append(person)
else:
addPerson(root.right,person)
else:
root.data.append(person)
def printPerson(root):
if root is None:
return
print(root.data)
printPerson(root.left)
printPerson(root.right)
运行:
root = Node()
root.data.append("L")
for i in range (0,6):
addPerson(root,input("Add Person:"))
print("Left side of room A-K:")
printPerson(root.left)
print("Right side of room L-Z:")
printPerson(root.right)
发布于 2018-09-13 14:37:35
1)缩进; 你需要Node
进一步缩进一个级别的方法。看起来这只是这种情况下的init方法。
2)_init_
- >__init__
发布于 2018-09-13 15:41:52
https://stackoverflow.com/questions/-100002629
复制相似问题