本文整理汇总了Python中Nodo.Nodo类的典型用法代码示例。如果您正苦于以下问题:Python Nodo类的具体用法?Python Nodo怎么用?Python Nodo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Nodo类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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)
开发者ID:KiiraGit,项目名称:Python,代码行数:25,代码来源:vuelos_bfs.py
示例2: __init__
def __init__(self,elem,aristas):
Nodo.__init__(self,elem)
self.aristas = aristas
if aristas == {}:
self.grado = 0
else:
self.grado = len(aristas)
开发者ID:ricardorodab,项目名称:Lenguajes,代码行数:7,代码来源:Vertex.py
示例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
开发者ID:unzero,项目名称:Final,代码行数:7,代码来源:GramaticaExtVisitor.py
示例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
开发者ID:unzero,项目名称:Final,代码行数:7,代码来源:GramaticaExtVisitor.py
示例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
开发者ID:unzero,项目名称:Final,代码行数:7,代码来源:GramaticaExtVisitor.py
示例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
开发者ID:Josue87,项目名称:Estructuras-De-Datos,代码行数:8,代码来源:Lista.py
示例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
开发者ID:unzero,项目名称:Final,代码行数:8,代码来源:GramaticaExtVisitor.py
示例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
开发者ID:unzero,项目名称:Final,代码行数:8,代码来源:GramaticaExtVisitor.py
示例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)
开发者ID:rodolfolottin,项目名称:INE5633,代码行数:9,代码来源:EightPuzzleSolver.py
示例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
开发者ID:unzero,项目名称:Final,代码行数:10,代码来源:GramaticaExtVisitor.py
示例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
开发者ID:unzero,项目名称:Final,代码行数:26,代码来源:GramaticaExtVisitor.py
示例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))
开发者ID:unzero,项目名称:Final,代码行数:25,代码来源:GramaticaExtListener.py
示例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
开发者ID:Josue87,项目名称:Estructuras-De-Datos,代码行数:11,代码来源:Lista.py
示例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
开发者ID:unzero,项目名称:Final,代码行数:11,代码来源:GramaticaExtVisitor.py
示例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
开发者ID:unzero,项目名称:Final,代码行数:11,代码来源:GramaticaExtVisitor.py
示例16: exitAndTest
def exitAndTest(self, ctx):
if len(ctx.not_test()) == 2:
valorD = self.pilaValores.pop()
valorI = self.pilaValores.pop()
if valorD.tipoValor == "BOOL" and valorI.tipoValor == "BOOL":
nodo = Nodo()
nodo.tipoValor = "BOOL"
nodo.valor = valorD.valor and valorI.valor
self.pilaValores.append(nodo)
print("Nuevo ORT: " + str(nodo.valor))
else:
raise RuntimeError("Error en los operandos, deben ser de tipo logico")
开发者ID:unzero,项目名称:Final,代码行数:12,代码来源:GramaticaExtListener.py
示例17: exitPowerEval
def exitPowerEval(self, ctx):
if len(ctx.atom_stmt()) == 2:
valorD = self.pilaValores.pop()
valorI = self.pilaValores.pop()
if self.numerico(valorD) and self.numerico(valorI):
nodo = Nodo()
nodo.tipoValor = "FLOAT"
nodo.valor = valorI.valor ** valorD.valor
self.pilaValores.append(nodo)
print("Nueva potencia: " + str(nodo.valor))
else:
raise RuntimeError("Error en los operadores, deben ser de tipo entero")
开发者ID:unzero,项目名称:Final,代码行数:12,代码来源:GramaticaExtListener.py
示例18: exitShiftRight
def exitShiftRight(self, ctx):
if len(ctx.arith_expr()) == 2:
valorD = self.pilaValores.pop()
valorI = self.pilaValores.pop()
if valorD.tipoValor == "INTEGER" and valorI.tipoValor == "INTEGER":
nodo = Nodo()
nodo.tipoValor = "INTEGER"
nodo.valor = valorD.valor >> valorI.valor
self.pilaValores.append(nodo)
print("Nueva shift right: " + str(nodo.valor))
else:
raise RuntimeError("Error en los operandos, deben ser de tipo entero")
开发者ID:unzero,项目名称:Final,代码行数:12,代码来源:GramaticaExtListener.py
示例19: visitExprModule
def visitExprModule(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
print(str(valorI)+" : "+str(valorD));
else:
ln = -1
self.raiseError(ln, 'Error en los operandos', "Operacion modulo")
return nodo
开发者ID:unzero,项目名称:Final,代码行数:12,代码来源:GramaticaExtVisitor.py
示例20: visitIterable_list
def visitIterable_list(self, ctx):
nodo = Nodo()
nodo.tipo = "ITERATOR"
nodo.subtipo = "LIST"
nodo.valor = []
if ctx.list_element() != None:
valor = super(GramaticaExtVisitor,self).visit(ctx.list_element().test())
nodo.valor.append(valor)
if ctx.list_element() != None and ctx.list_element().sublist_element() != None:
for el in ctx.list_element().sublist_element():
valor = super(GramaticaExtVisitor,self).visit(el.test())
nodo.valor.append(valor)
return nodo
开发者ID:unzero,项目名称:Final,代码行数:13,代码来源:GramaticaExtVisitor.py
注:本文中的Nodo.Nodo类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论