예제 #1
0
def modif_sw(arbol):
    file = abrir('starwars')
    busc = input('Ingrese nombre del personaje a modificar: ')
    val = busqueda_arbol(arbol, busc)
    if val is not None:
        print('1) Nombre')
        print('2) Altura')
        print('3) Peso')
        mod = input('Elija campo a modificar: ')
        sw = leer(file, pos)
        if mod == '1':
            nom = input('Ingrese el nuevo nombre: ')
            dato = Personaje(nom, sw.altura, sw.peso)
            modificar(file, pos, dato)
            sw = leer(file, pos)
            arbol = insertar_nodo(arbol, sw.nombre, pos)
        elif mod == '2':
            alt = int(input('Ingrese la nueva altura: '))
            dato = Personaje(sw.nombre, alt, sw.peso)
            modificar(file, pos, dato)
            sw = leer(file, pos)
            arbol = insertar_nodo(arbol, sw.nombre, pos)
        elif mod == '3':
            peso = int(input('Ingrese el nuevo peso: '))
            dato = Personaje(sw.nombre, sw.altura, peso)
            modificar(file, pos, dato)
            sw = leer(file, pos)
            arbol = insertar_nodo(arbol, sw.nombre, pos)
        else:
            print('ERROR')
    else:
        print('El personaje no existe')
    cerrar(file)
예제 #2
0
def initFileLibros():
    ruta_file = "Libros/libros"
    titulos = [
        "Algoritmos", "Algol", "Mineria de Datos", "Base de Datos",
        "Sistemas y organizaciones", "Calculo", "Redes"
    ]
    autores = [
        "autor1", "autor2", "autor3", "autor4", "autor5", "autor6", "autor7",
        "Tanenbaum", "Connolly", "Rowling", "Riordan"
    ]
    editoriales = ["edit1", "edit2", "edit3", "edit4", "edit5"]

    archivo = abrir(ruta_file)
    limpiar(archivo)

    for i in range(100):
        titulo = choice(titulos)
        isbn = i
        autor = definirAutores(autores)

        editorial = choice(editoriales)
        cant_pag = randint(100, 2000)

        libro = Libro(titulo, isbn, autor, editorial, cant_pag)
        guardar(archivo, libro)

    cerrar(archivo)
예제 #3
0
def initFilePokemon():
    ruta_json = "Pokemons/pokemon.json"
    ruta_file = "Pokemons/pokemons"

    a = abrir(ruta_file)
    limpiar(a)
    cerrar(a)

    jsonToFilePoke(ruta_json, ruta_file)
예제 #4
0
def alta_sw(arbol):
    file = abrir('starwars')
    nom = input('Ingrese un nombre: ')
    alt = int(input('Ingrese su altura: '))
    peso = int(input('Ingrese su peso: '))
    dato = Personaje(nom, alt, peso)
    insertar_nodo(arbol, dato.nombre)
    guardar(file, dato)
    cerrar(file)
    datos.append([nom, alt, peso])
예제 #5
0
def listaBusquedaTipoArbol(ruta, arbol, tipo):
    '''Devuelve lista de pokemons del tipo especificado, traidos desde el archivo'''
    lista = []

    indices_pokemon_tipo = []
    busqTipos(arbol, tipo, indices_pokemon_tipo)

    archivo = abrir(ruta)
    for indice in indices_pokemon_tipo:
        lista.append(leer(archivo, indice))
    cerrar(archivo)

    return lista
예제 #6
0
def busquedaNroPoke(ruta_file, raiz, nro_buscado):
    '''Devuelve pokemon que haya encontrado con nro de pokedex solicitado'''
    pokemon = None

    encontrado = busquedaCampo(raiz, nro_buscado, 0)
    if encontrado:
        indice = encontrado.info[1]

        archivo = abrir(ruta_file)
        pokemon = leer(archivo, indice)
        cerrar(archivo)

    return pokemon
예제 #7
0
def listaPokemonsNombre(ruta_file, raiz, nombre_buscado):
    '''Devuelve lista de pokemons que haya encontrado por proximidad'''
    indices_poke_a_obtener_data = []
    # En el arbol por nombre, se busca por proximidad, y se devuelve los indices de quienes coincidan
    obtenerIndicesPorNombre(raiz, nombre_buscado, indices_poke_a_obtener_data)

    # Por cada indice, se busca en el archivo y trae el objeto Pokemon del susodicho
    datos_pokemons = []

    archivo = abrir(ruta_file)
    for indice in indices_poke_a_obtener_data:
        datos_pokemons.append(leer(archivo, indice))
    cerrar(archivo)

    return datos_pokemons
예제 #8
0
def altaPersonaje(arbol, ruta_archivo):
    """Da de alta un personaje en el archivo y actualiza el arbol"""
    nombre = input('Ingrese el nombre del personaje: ')
    altura = float(input('Ingrese la altura del personaje: '))
    peso = float(input('Ingrese el peso del personaje: '))

    personaje = PersonajeStarWars(nombre, altura, peso)

    archivo = abrir(ruta_archivo)
    guardar(archivo, personaje)
    cerrar(archivo)

    arbol = generarArbolPersonajesNombre(ruta_archivo)

    return arbol
예제 #9
0
def bajaPersonaje(arbol, ruta_archivo):
    '''La la baja (lógica) de un personaje'''
    archivo = abrir(ruta_archivo)

    buscado = input("Nombre del personaje buscado: ")

    indice = obtenerIndice(arbol, buscado)

    if indice == -1:
        print("Personaje no encontrado")
    else:
        personaje = leer(archivo, indice)
        personaje.estado = False

        modificar(archivo, personaje, indice)
        cerrar(archivo)

        print("Personaje dado de baja")

        arbol = generarArbolPersonajesNombre(ruta_archivo)

    return arbol
예제 #10
0
def modificarPersonaje(arbol, ruta_archivo):
    '''Busca un personaje, de encontrarlo, permite su modificación'''
    archivo = abrir(ruta_archivo)

    buscado = input("Nombre del personaje buscado: ")

    indice = obtenerIndice(arbol, buscado)

    if indice == -1:
        print("Personaje no encontrado")
    else:
        personaje = leer(archivo, indice)

        print("1- Nombre:", personaje.nombre)
        print("2- Altura:", personaje.altura)
        print("3- Peso:", personaje.peso)
        opcion = input("Seleccione campo a modificar: ")
        print()

        if (opcion in ["1", "2", "3"]):
            nuevo_valor = input("Nuevo valor: ")

            if opcion == "1":
                personaje.nombre = nuevo_valor
            elif opcion == "2":
                personaje.altura = float(nuevo_valor)
            elif opcion == "3":
                personaje.peso = float(nuevo_valor)

            modificar(archivo, personaje, indice)
            cerrar(archivo)

            arbol = generarArbolPersonajesNombre(ruta_archivo)
            print("Personaje Guardado")
        else:
            print("Opcion seleccionada incorrecta")

    return arbol
예제 #11
0
        self.maestro = maestro

# a
arbol_nombre = None
arbol_ranking = None
arbol_especie = None

file = abrir('jedis')
pos = 0
while pos < len(file):
    jedi = leer(file, pos)
    arbol_nombre = insertar_nodo(arbol_nombre, jedi[0], pos)
    arbol_ranking = insertar_nodo(arbol_ranking, jedi[1], pos)
    arbol_especie = insertar_nodo(arbol_especie , jedi[2], pos)
    pos += 1
cerrar(file)

# lee archivo jedis
print('NOMBRE | RANKING | ESPECIE | MAESTRO | COLOR DE SABLE | ORIGEN | AÑO DE NACIMIENTO | ALTURA')
arch = abrir('jedis')
for i in range(0, len(arch)):
    print(leer(arch, i))
cerrar(arch)
print()

# b
print('INORDEN POR NOMBRE Y RANKING')
file = abrir('jedis')
inorden_nombrank(arbol_nombre, file)
cerrar(file)
print()
예제 #12
0
# se guarda datos en archivo
file = abrir('starwars')
for dato in datos:
    x = Personaje(dato[0], dato[1], dato[2])
    guardar(file, x)

# a
# se inserta nombres en arbol
pos = 0
while pos < len(datos):
    personaje = leer(file, pos)
    arbol = insertar_nodo(arbol, personaje.nombre, pos)
    #print(personaje.nombre, 'anadido en la posicion:', pos)
    pos += 1
cerrar(file)

print('Arbol de personajes:')
por_nivel(arbol)
print()

# b
print('1) Alta')
print('2) Baja')
print('3) Modificacion')
print('4) Salir')
control = input('Que desea hacer: ')
print()


def alta_sw(arbol):