<p>我正处于学习Python的早期阶段。(免责声明,我在学校,这是一个家庭作业问题)。我正在尝试创建一个程序,根据婚礼宾客的姓名字母顺序,将他们分到房间的一侧。然而,当我运行我的程序时,我收到一条错误消息,上面写着“Traceback(最近一次调用last):
文件“C:\Python\Python36\Wedding Guests Program.py”,第29行,在
root.data.append(“M”)#M是字母表的一半。根据组的不同,这可能需要更改
AttributeError:“节点”对象没有属性“数据”</p>
<p>我联系了学校的一位家庭教师,但当他们在电脑上运行程序时,程序运行正常。我希望这里有人能给我指出我把事情搞砸的正确方向。这是我的密码:</p>
<pre><code>class Node:
def _init_ (self, left, right, data):
self.left = None
self.right = None
self.data = list () #Using a list for people with the same first name
def addGuest (root, guest) : #Defining left requirements
if guest < root.data [0] :
if root.left == None:
root.left = Node ()
root.left.data.append (guest)
else:
addGuest (root.left, guest)
else: #Defining right requirements
if guest > root.data [0] :
if root.right == None:
root.right = Nide ()
root.right.data.append (guest)
else:
addGuest (root.right, guest)
else:
root.right.data.append (guest)
def printGuest(root) :
if root == None:
return
print(root.data)
printGuest (root.left) #printing left and right so both sides of the room are represented.
printGuest (root.right)
root = Node()
root.data.append("M") #M is halfway through the alphabet. Depending on the group, this may need to change
for i in range (0,8): #Choosing 8 to ensure it divides evenly. This can be changed
addGuest (root, input("Add Guest"))
print ("Left side:")
printGuest (root.left)
print("Right Side:")
printGuest (root.right)
</code></pre>