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()
Привет, Я новичок в python и этой платформе. Я хочу реализовать DFS в своем классе «Дерево» python, но оболочка говорит, что объект «Tree» не имеет атрибута «DFS». Тем не менее, DFS явно определен в моем коде. Кто-нибудь может мне с этим помочь? Спасибо заранее!Объект не имеет атрибутов
Большое спасибо за ваш мгновенный ответ! Оказывается, что параметр отступа от моего возвышенного текстового редактора был неправильным, поэтому функция DFS на самом деле не была определена как метод класса Tree. Большое спасибо за вашу помощь! Кстати, как вводить код, как ваш, который имеет серый фон в поле комментариев? –
Прочитайте документы SO: http://stackoverflow.com/help/formatting – acdr