Python 对象没有属性 类节点(对象): 定义初始值(自身,值): 自我价值=价值 self.left=无 self.right=无 类树(对象): 定义初始值(自身,值): 长度=长度(值) 节点=[] 对于范围内的x(长度): 追加(节点(值[x])) 对于范围内的x(长度): 如果2*x+1
嗨,我是python和这个平台的新手。我想在我的python“Tree”类中实现DFS,但是shell说“Tree”对象没有属性“DFS”。但是,DFS是在我的代码中明确定义的。有人能帮我吗?非常感谢 执行代码时,我收到一条不同的错误消息:Python 对象没有属性 类节点(对象): 定义初始值(自身,值): 自我价值=价值 self.left=无 self.right=无 类树(对象): 定义初始值(自身,值): 长度=长度(值) 节点=[] 对于范围内的x(长度): 追加(节点(值[x])) 对于范围内的x(长度): 如果2*x+1,python,Python,嗨,我是python和这个平台的新手。我想在我的python“Tree”类中实现DFS,但是shell说“Tree”对象没有属性“DFS”。但是,DFS是在我的代码中明确定义的。有人能帮我吗?非常感谢 执行代码时,我收到一条不同的错误消息: class Node(object): def __init__(self,value): self.value=value self.left=None self.right=None class
class Node(object):
def __init__(self,value):
self.value=value
self.left=None
self.right=None
class Tree(object):
def __init__(self,values):
length=len(values)
node=[]
for x in range(length):
node.append(Node(values[x]))
for x in range(length):
if 2*x+1 < length:
node[x].left = node[2*x+1]
if 2*x+2 < length:
node[x].right = node[2*x+2]
if node[0] != None:
self.root = node[0]
else:
self.root = None
def DFS(self,node,obj):
if node == None or node.value == obj:
return node
else:
self.DFS(node.left,obj)
self.DFS(node.right,obj)
def main():
obj = raw_input("Please input a number you want to search: ")
tree = Tree(range(100))
node = tree.DFS(tree.root,obj)
if node.value == obj:
print "I've done it!"
if __name__ == "__main__":
main()
此错误消息是因为
Tree.DFS()
实际上并不总是显式返回任何内容(因此None
被返回),并且None
没有值属性。执行代码时,我会收到不同的错误消息:
class Node(object):
def __init__(self,value):
self.value=value
self.left=None
self.right=None
class Tree(object):
def __init__(self,values):
length=len(values)
node=[]
for x in range(length):
node.append(Node(values[x]))
for x in range(length):
if 2*x+1 < length:
node[x].left = node[2*x+1]
if 2*x+2 < length:
node[x].right = node[2*x+2]
if node[0] != None:
self.root = node[0]
else:
self.root = None
def DFS(self,node,obj):
if node == None or node.value == obj:
return node
else:
self.DFS(node.left,obj)
self.DFS(node.right,obj)
def main():
obj = raw_input("Please input a number you want to search: ")
tree = Tree(range(100))
node = tree.DFS(tree.root,obj)
if node.value == obj:
print "I've done it!"
if __name__ == "__main__":
main()
此错误消息是因为Tree.DFS()
实际上并不总是显式返回任何内容(因此None
被返回),并且None
没有值
属性。我看不到您指出的问题。我从中得到一个错误:
if node.value == obj:
AttributeError: 'NoneType' object has no attribute 'value'
AttributeError:“非类型”对象没有属性“值”
当节点==None
返回None
时,该节点不能/不具有值
属性。我看不到您指出的问题。我从中得到一个错误:
if node.value == obj:
AttributeError: 'NoneType' object has no attribute 'value'
AttributeError:“非类型”对象没有属性“值”
当节点==None
返回None
时,它不能/没有值
属性。非常感谢您的即时回答!事实证明,我的sublime文本编辑器的缩进设置是错误的,因此函数DFS实际上没有定义为类树的方法。非常感谢你的帮助!顺便说一句,如何在评论框中输入灰色背景的代码?非常感谢您的即时回答!事实证明,我的sublime文本编辑器的缩进设置是错误的,因此函数DFS实际上没有定义为类树的方法。非常感谢你的帮助!顺便说一句,如何在评论框中输入灰色背景的代码?非常感谢您的即时回答!事实证明,我的sublime文本编辑器的缩进设置是错误的,因此函数DFS实际上没有定义为类树的方法。非常感谢你的帮助!顺便说一句,如何在评论框中输入灰色背景的代码?非常感谢您的即时回答!事实证明,我的sublime文本编辑器的缩进设置是错误的,因此函数DFS实际上没有定义为类树的方法。非常感谢你的帮助!顺便说一句,如何输入像你这样的代码,在注释框中有灰色背景?