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)
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)
def initFilePokemon(): ruta_json = "Pokemons/pokemon.json" ruta_file = "Pokemons/pokemons" a = abrir(ruta_file) limpiar(a) cerrar(a) jsonToFilePoke(ruta_json, ruta_file)
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])
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
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
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
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
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
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
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()
# 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):