本文整理汇总了Python中Nodo.Nodo类的典型用法代码示例。如果您正苦于以下问题:Python Nodo类的具体用法?Python Nodo怎么用?Python Nodo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Nodo类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: buscar_solucion_bfs
def buscar_solucion_bfs(conexiones, estado_inicial, solucion):
solucionado = False
nodos_visitados = []
nodos_frontera = []
nodoInicial = Nodo(estado_inicial)
nodos_frontera.append(nodoInicial)
while (not solucionado) and (len(nodos_frontera) != 0):
nodo = nodos_frontera[0]
# extraer nodo y anadirlo a visitados
nodos_visitados.append(nodos_frontera.pop(0))
if (nodo.get_datos() == solucion):
# solucion encontrada
solucionado = True
return nodo
else:
# expandir nodos hijos (ciudades con conexion)
dato_nodo = nodo.get_datos()
lista_hijos = []
for un_hijo in conexiones[dato_nodo]:
hijo = Nodo(un_hijo)
lista_hijos.append(hijo)
if (not hijo.en_lista(nodos_visitados)) and (not hijo.en_lista(nodos_frontera)):
nodos_frontera.append(hijo)
nodo.set_hijos(lista_hijos)
示例2: __init__
def __init__(self,elem,aristas):
Nodo.__init__(self,elem)
self.aristas = aristas
if aristas == {}:
self.grado = 0
else:
self.grado = len(aristas)
示例3: visitAtomString
def visitAtomString(self, ctx):
nodo = Nodo()
nodo.valor = str(ctx.STRING())
nodo.valor = nodo.valor[1:len(nodo.valor)-1]
nodo.tipo = "STRING"
#self.pilaValores.append(nodo)
return nodo
示例4: visitNumberInteger
def visitNumberInteger(self, ctx):
valor = int(ctx.integer().getText())
nodo = Nodo()
nodo.valor = valor
nodo.tipo = "INTEGER"
#self.pilaValores.append(nodo)
return nodo
示例5: visitNumberFloat
def visitNumberFloat(self, ctx):
valor = float(ctx.FLOAT_NUMBER().getText())
nodo = Nodo()
nodo.valor = valor
nodo.tipo = "FLOAT"
#self.pilaValores.append(nodo)
return nodo
示例6: insertarPrimero
def insertarPrimero(self, datosAInsertar):
nodo = Nodo()
nodo.datos = datosAInsertar
if self.esVacia():
nodo.siguiente = None
else:
nodo.siguiente = self.lista
self.lista = nodo
示例7: visitIterable_tuple
def visitIterable_tuple(self, ctx):
valorI = super(GramaticaExtVisitor,self).visit(ctx.test(0))
valorD = super(GramaticaExtVisitor,self).visit(ctx.test(1))
nodo = Nodo()
nodo.tipo = "ITERATOR"
nodo.subtipo = "TUPLE"
nodo.valor = (valorI,valorD)
return nodo
示例8: visitAtomName
def visitAtomName(self, ctx):
nodo = Nodo()
valor = self.evaluarSimbolo(ctx.NAME())
nodo.tipo = valor.tipo
nodo.valor = valor.valor
nodo.subtipo = valor.subtipo
#self.pilaValores.append(nodo)
return nodo
示例9: configurarNodo
def configurarNodo(self, espacoEstado, nodoAnalisado):
profundidade = nodoAnalisado.profundidade + 1
nodoPai = nodoAnalisado
novoNodo = Nodo(espacoEstado, 0, profundidade, nodoPai)
if self.isNodoJaVisitado(novoNodo) is False:
novoNodo.pesoHeuristica = self.computarHeuristicas(novoNodo.estadoTabuleiro)
self.fronteiras.append(novoNodo)
示例10: visitTestNot
def visitTestNot(self, ctx):
valor = super(GramaticaExtVisitor,self).visit(ctx.test(0))
nodo = Nodo()
if valor.tipo == "BOOL":
nodo.tipo = "BOOL"
nodo.valor = not valor.valor
else:
ln = -1
self.raiseError(ln, 'Error en los operandos', "Operacion not-test")
return nodo
示例11: visitTestExprComp
def visitTestExprComp(self, ctx):
valorI = super(GramaticaExtVisitor,self).visit(ctx.expr(0))
valorD = super(GramaticaExtVisitor,self).visit(ctx.expr(1))
nodo = Nodo()
nodo.tipo = "BOOL"
op = ctx.comp_op().getText()
if valorI.tipo == "ITERATOR" or valorD.tipo == "ITERATOR":
ln = -1
self.raiseError(ln, "No es posible realizar este tipo de operacion con elementos iterables", "primitive-expected")
if op == "<":
nodo.valor = valorI.valor < valorD.valor
elif op == ">":
nodo.valor = valorI.valor > valorD.valor
elif op == "==":
nodo.valor = valorI.valor == valorD.valor
elif op == ">=":
nodo.valor = valorI.valor >= valorD.valor
elif op == "<=":
nodo.valor = valorI.valor <= valorD.valor
elif op == "<>":
nodo.valor = valorI.valor <> valorD.valor
elif op == "!=":
print(valorI)
print(valorD)
nodo.valor = valorI.valor != valorD.valor
return nodo
示例12: exitComparisonEval
def exitComparisonEval(self, ctx):
valorI = self.pilaValores.pop()
valorD = self.pilaValores.pop()
nodo = Nodo()
op = ctx.comp_op().getText()
if op == "<":
nodo.valor = valorI.valor < valorD.valor
elif op == ">":
nodo.valor = valorI.valor > valorD.valor
elif op == "==":
nodo.valor = valorI.valor == valorD.valor
elif op == ">=":
nodo.valor = valorI.valor >= valorD.valor
elif op == "<=":
nodo.valor = valorI.valor <= valorD.valor
elif op == "<>":
nodo.valor = valorI.valor <> valorD.valor
elif op == "!=":
nodo.valor = valorI.valor != valorD.valor
nodo.tipoValor = "BOOL"
self.pilaValores.append(nodo)
print("Nueva compracion: " + str(nodo.valor))
示例13: insertarUltimo
def insertarUltimo(self, datosAInsertar):
nodo = Nodo()
nodo.datos = datosAInsertar
nodo.siguiente = None
if self.esVacia():
self.lista = nodo
else:
copiaLista = self.lista
while copiaLista.siguiente != None:
copiaLista = copiaLista.siguiente
copiaLista.siguiente = nodo
示例14: visitTestOr
def visitTestOr(self, ctx):
valorI = super(GramaticaExtVisitor,self).visit(ctx.test(0))
valorD = super(GramaticaExtVisitor,self).visit(ctx.test(1))
nodo = Nodo()
if valorI.tipo == "BOOL" and valorD.tipo == "BOOL":
nodo.tipo = "BOOL"
nodo.valor = valorI.valor or valorD.valor
else:
ln = -1
self.raiseError(ln, 'Error en los operandos', "Operacion or-test")
return nodo
示例15: visitExprXor
def visitExprXor(self, ctx):
valorI = super(GramaticaExtVisitor,self).visit(ctx.expr(0))
valorD = super(GramaticaExtVisitor,self).visit(ctx.expr(1))
nodo = Nodo()
if valorI.tipo == "INTEGER" or valorD.tipo == "INTEGER":
nodo.tipo = "INTEGER"
nodo.valor = valorI.valor ^ valorD.valor
else:
ln = -1
self.raiseError(ln, 'Error en los operandos', "Operacion bit-xor")
return nodo