def ejercicio5(): arbol = Arbol() # Punto A, campo booleano personajes = [{ "nombre": "Capitan America", "esVillano": False }, { "nombre": "Viuda Negra", "esVillano": False }, { "nombre": "Thanos", "esVillano": True }, { "nombre": "Doctor Stran", "esVillano": False }] for elementos in personajes: arbol = arbol.insertar_nodo(elementos["nombre"], elementos) # Punto B arbol.inorden_villanos() # Punto C arbol.heroes_C() # Punto D print("Cantidad de superheroes", arbol.contar_superheroes()) # Punto E nombre_a_buscar = input("Ingrese el nombre a buscar ") arbol.busqueda_proximidad(nombre_a_buscar) cambio = input("Ingrese el nombre a modificar ") info, datos = arbol.eliminar_nodo(cambio) nuevo_nombre = input("Ingrese el nuevo nombre ") datos["nombre"] = nuevo_nombre nuevo_es_villano = input("Es villano? si/no ") if nuevo_es_villano == "si": datos["esVillano"] = True else: datos["esVillano"] = False arbol = arbol.insertar_nodo(datos["nombre"], datos) arbol.inorden() print() # Punto F arbol.postorden_superheroes() # Punto E arbolSuperheroe = Arbol() arbolVillano = Arbol() arbol.arboles_separados_heroe_villano(arbolSuperheroe, arbolVillano) arbolVillano.postorden() arbolSuperheroe.postorden()
{'nombre' : 'Thanos', 'heroe' : False}, {'nombre' : 'Dr. Strange', 'heroe' : True}, ] arbolMCU = Arbol() for personaje in MCU: arbolMCU= arbolMCU.insertar_nodo(personaje['nombre'], personaje) # Ejercicio b arbolMCU.inorden() # Ejercicio c arbolMCU.busqueda_proximidad('C') # ejercicio d print(arbolMCU.contar_nodos()) # ejercicio e arbolMCU.inorden() arbolMCU.remplazar_proximidad_MCU('Dr', 'Dr. Strange') arbolMCU.inorden() # ejercicio f arbolMCU.postorden() # ejercicio g arbol_villanos = Arbol() arbol_heroes = Arbol()
def ejercicio23(): arbol = Arbol() criaturas = [{ 'nombre': "Ceto", 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Tifon', 'derrotadoPor': 'Zeus', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Equidna', 'derrotadoPor': 'Argos Panoptes', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Dino', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Pefredo', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Enio', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Escila', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Medusa', 'derrotadoPor': 'Perseo', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Ladon', 'derrotadoPor': 'Heracles', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Ortro', 'derrotadoPor': 'Heracles', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Talos', 'derrotadoPor': 'Medea', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Cerbero', 'derrotadoPor': 'Teseo', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Toro de Creta', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Jabali de Erimanto', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Cierva Cerinea', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Aves de Estinfalo', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Basilisco', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }, { 'nombre': 'Sirenas', 'derrotadoPor': '', 'descripcion': '', 'capturadoPor': '' }] for elementos in criaturas: arbol = arbol.insertar_nodo(elementos['nombre'], elementos) arbol.inorden() print() # C talos = arbol.busqueda('Talos') if talos: print(talos.datos) # D print() lista = Lista() aux = [] arbol.nombreDioses(aux) for elementos in aux: cantidad = arbol.contarMuertes(elementos) dict = {'dios': elementos, 'cantidadMuertes': cantidad} lista.insertar(dict, 'cantidadMuertes') print('3 dioses con mas muertes:') print(lista.obtener_elemento(lista.tamanio() - 3)) print(lista.obtener_elemento(lista.tamanio() - 2)) print(lista.obtener_elemento(lista.tamanio() - 1)) print() # E criaturas = [] print('Criaturas derrotadas por Heracles') criaturas = arbol.criaturaDerrotadaPor('Heracles', criaturas) for elementos in criaturas: print(elementos) # F print() print('Criaturas sin derrotar') arbol.criaturasSinDerrotar() # H print() arbol.modificarCapturadoPor() # I print() busquedaCoincidencia = input( 'Letras iniciales del nombre que desea buscar:') arbol.busqueda_proximidad(busquedaCoincidencia) # J arbol.eliminar_nodo('Basilisco') arbol.eliminar_nodo('Sirenas') # K arbol.modificarAvesEstinfalo # L ladInfo, ladDatos = arbol.eliminar_nodo('Ladon') arbol = arbol.insertar_nodo('Dragon Ladon', ladDatos) # M print() print('Barrido por nivel') arbol.barrido_por_nivel() print() # N print('Criaturas capturadas por Heracles') arbol.capturadoPor('Heracles')
print('') print('C: Superheroes que comienzan con C') arbol.inorden_nombreC() print('') print('D') print('En el árbol hay:',arbol.contar_heroes(True), 'Superheroes') print('') print('E: Modificar el nombre de un Superheroe') # Doctor Strnge buscado = input('ingrese a quien buscar:') arbol.busqueda_proximidad(buscado) buscado = input('ingrese a quien quiere cambiar el nombre:') buscado2 = input('ingrese nuevo nombre:') clave, dato = arbol.eliminar_nodo(buscado) dato['nombre'] = buscado2 arbol = arbol.insertar_nodo(buscado2, dato) arbol.inorden() print('') print('F: Listado de Superheroes de manera descendente') arbol.postorden() print('') print('G') arbolV = Arbol()
criaturas["capturada_por"] = nuevo_capturador arbol = arbol.insertar_nodo(buscado, criaturas) print() buscado = "Jabali de Erimanto" pos = arbol.busqueda(buscado) if pos: nuevo_capturador = input( "Ingrese el nuevo nombre del capturador Jabali de Erimanto: ") buscado, criaturas = arbol.eliminar_nodo(buscado) criaturas["capturada_por"] = nuevo_capturador arbol = arbol.insertar_nodo(buscado, criaturas) print() #Punto I print("Busqueda por proximidad: ") arbol.busqueda_proximidad("T") #Punto J arbol.eliminar_nodo("Basilisco") arbol.eliminar_nodo("Sirenas") print() print("Barrido sin los nodos de Basilisco y Sirenas") arbol.inorden() print() #Punto K buscado = "Aves del Estinfalo" pos = arbol.busqueda(buscado) if pos: