【发布时间】:2022-11-04 14:53:26
【问题描述】:
我的遍历参数正在引发 NoneType 我期望它是一个字符串
class node(object):
def __init__(self,value):
self.value= value
self.left= None
self.right= None
class binarytree(object):
def __init__(self,root):
self.root=node(root)
def print_tree(self,traversal_type):
if traversal_type == "preorder":
return self.preorder_print(self.root,"")
else:
return f"Traversal type {traversal_type} not supported."
def preorder_print(self,start,traversal):
if start:
traversal += (str(start.value)+"-")
traversal= self.preorder_print(start.left,traversal)
traversal= self.preorder_print(start.right,traversal)
return traversal
tree=binarytree(1)
tree.root.left=node(2)
tree.root.right=node(3)
tree.root.left.left=node(4)
tree.root.left.right=node(5)
print(tree.print_tree("preorder"))
我期待字符串并得到NoneType。 在第 12 行
return self.preorder_print(self.root,"")
"" 是 str 类型,但在第 16 行
traversal += (str(start.value)+"-")
发生错误说
unsupported operand type(s) for +=: 'NoneType' and 'str'
【问题讨论】:
标签: python-3.x types