from node import *
from copy import deepcopy
import pygame
from PIL import Image
def buscar_solucion(inicio, solucion):
visitados=[]
nodo_i=Nodo(inicio)
while nodo_i.get_datos() != solucion:
nodo_i = deep_search(nodo_i,solucion,visitados)
moves=[]
moves.append(solucion)
while nodo_i.get_padre() != None:
pater=nodo_i.get_padre()
moves.append(pater.get_datos())
nodo_i=pater
moves.reverse()
print moves
def operaciones_h(dades):
r=[]
i=0
while dades[i] != dades[-1]:
s=deepcopy(dades)
s[i]=dades[i+1]
s[i+1]=dades[i]
r.append(Nodo(s))
i+=1
return r
def deep_search(ini,sol,visit):
visit.append(ini.get_datos())
if ini.get_datos() == sol:
return ini
else:
hijos=operaciones_h(ini.get_datos())
for hijo in hijos:
if hijo.get_datos() not in visit:
hijo.set_padre(ini)
return deep_search(hijo,sol,visit)
在创建 Class 的实例时,我遇到的问题在第 14 行Nodo
。我得到的错误是:
AttributeError: 'NoneType' object has no attribute 'get_datos'
该类在一个名为node.py
. 问题可能出在导入中吗?或者在定义实例时?