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')
def ejercicioParcialArbol():
    dinosaurios = [{
        "nombre": "T-rex",
        "codigo": 22553,
        'ubicacion': '3B'
    }, {
        "nombre": "T-rex",
        "codigo": 32423,
        'ubicacion': '7G'
    }, {
        "nombre": "Velocirraptor",
        "codigo": 35623,
        'ubicacion': '7G'
    }, {
        "nombre": "Triceratop",
        "codigo": 75673,
        'ubicacion': '2A'
    }, {
        "nombre": "Allosaurus",
        "codigo": 756,
        'ubicacion': '2A'
    }, {
        "nombre": "Sgimoloch",
        "codigo": 22873,
        'ubicacion': '8R'
    }, {
        "nombre": "Raptor",
        "codigo": 56734,
        'ubicacion': '3C'
    }, {
        "nombre": "Raptor",
        "codigo": 11938,
        'ubicacion': '9B'
    }, {
        "nombre": "Diplodocus",
        "codigo": 425,
        'ubicacion': '10C'
    }, {
        "nombre": "Diplodocus",
        "codigo": 16364,
        'ubicacion': '2H'
    }, {
        "nombre": "Diplodocus",
        "codigo": 45243,
        'ubicacion': '8F'
    }, {
        "nombre": "Velocirraptor",
        "codigo": 467,
        'ubicacion': '10F'
    }, {
        "nombre": "Baryonix",
        "codigo": 44521,
        'ubicacion': '8F'
    }, {
        "nombre": "Styracosaurus",
        "codigo": 98437,
        'ubicacion': '5D'
    }, {
        "nombre": "Diplodocus",
        "codigo": 52345,
        'ubicacion': '11A'
    }, {
        "nombre": "Raptor",
        "codigo": 31245,
        'ubicacion': '3B'
    }, {
        "nombre": "Stygimoloch",
        "codigo": 56623,
        'ubicacion': '3C'
    }]

    arbolNombre = Arbol()
    arbolCodigo = Arbol()

    for elementos in dinosaurios:
        arbolNombre = arbolNombre.insertar_nodo(elementos["nombre"], elementos)
        arbolCodigo = arbolCodigo.insertar_nodo(elementos["codigo"], elementos)

    # Punto 2
    arbolNombre.inorden()
    print()

    # Punto 3
    pos = arbolCodigo.busqueda(756)
    print(pos.datos)
    print()

    # Punto 5
    arbolNombre.tRexEnIsla('T-rex')
    print()

    # Punto 6
    nombre, datos = arbolNombre.eliminar_nodo('Sgimoloch')
    arbolNombre = arbolNombre.insertar_nodo(
        nombre,
        datos)  # Eliminar y re-insertar porque el campo clave es el nombre
    arbolCodigo.modificarSgimoloch('Sgimoloch')

    # Punto 7
    print('Ubicacion de los raptores: ')
    arbolNombre.ubicacionRaptores('Raptor')
    print()

    # Punto 8
    cantidadDiplodocus = arbolNombre.contarDiplodocus('Diplodocus')
    print('La cantidad de Diplodocus en el parque es', cantidadDiplodocus)
Esempio n. 3
0
}
arbol = arbol.insertar_nodo(criaturas["nombre"], criaturas)

dic = {}

#Punto A
print("Barrido de criaturas inorden y por quienes fueron derrotadas:")
arbol.inorden()
print()

#Punto B
arbol.añadir_descripcion()  #añade descripcion sobre la criatura

#Punto C
buscado = "Talos"
pos = arbol.busqueda(buscado)
if pos:
    print("Informacion de criatura:", buscado, " ", pos.datos)
print()

#Punto D
arbol.conta_criaturas_derrotadas(dic)


def ordenar(item):
    return item[1]


lista = list(dic.items())
lista.sort(key=ordenar, reverse=True)
print("Heroes que derrotaron mayor cantidad de criaturas (3): ")