Untitled
unknown
plain_text
2 years ago
4.0 kB
5
Indexable
import sqlite3 def crear_tabla_libros(): conn = sqlite3.connect('biblioteca.db') cursor = conn.cursor() cursor.execute(''' CREATE TABLE IF NOT EXISTS libros ( id INTEGER PRIMARY KEY, titulo TEXT NOT NULL, autor TEXT NOT NULL, editorial TEXT NOT NULL, ejemplares_disponibles INTEGER DEFAULT 0 ) ''') conn.commit() conn.close() def agregar_libro(): titulo = input("☆ Ingrese el título del libro: ") autor = input("☆ Ingrese el autor del libro: ") editorial = input("☆ Ingrese la editorial del libro: ") ejemplares = int(input("☆ Ingrese la cantidad de ejemplares disponibles: ")) conn = sqlite3.connect('biblioteca.db') cursor = conn.cursor() cursor.execute(''' INSERT INTO libros (titulo, autor, editorial, ejemplares_disponibles) VALUES (?, ?, ?, ?) ''', (titulo, autor, editorial, ejemplares)) conn.commit() conn.close() def eliminar_libro(): libro_id = int(input("☆ Ingrese el ID del libro que desea eliminar:")) conn = sqlite3.connect('biblioteca.db') cursor = conn.cursor() cursor.execute('DELETE FROM libros WHERE id = ?', (libro_id,)) if cursor.rowcount == 0: print("\n☆ Libro no encontrado ☆") else: print("☆ Libro eliminado exitosamente ☆") conn.commit() conn.close() def actualizar_libro(): libro_id = int(input("☆ Ingrese el ID del libro que desea actualizar: ")) nuevos_ejemplares = int(input("☆ Ingrese la nueva cantidad de ejemplares disponibles: ")) nueva_editorial = input("☆ Ingrese la nueva editorial del libro: ") conn = sqlite3.connect('biblioteca.db') cursor = conn.cursor() cursor.execute(''' UPDATE libros SET ejemplares_disponibles = ?, editorial = ? WHERE id = ? ''', (nuevos_ejemplares, nueva_editorial, libro_id)) conn.commit() conn.close() def buscar_libros(): valor = input("☆ Ingrese el valor a buscar (título o autor): ") conn = sqlite3.connect('biblioteca.db') cursor = conn.cursor() cursor.execute(''' SELECT * FROM libros WHERE titulo LIKE ? OR autor LIKE ? ''', ('%' + valor + '%', '%' + valor + '%')) libros_encontrados = cursor.fetchall() if not libros_encontrados: print("\n☆ Libro no encontrado ☆") else: for libro in libros_encontrados: print(f"☆ ID: {libro[0]}, ☆ Título: {libro[1]}, ☆ Autor: {libro[2]}, ☆ Editorial: {libro[3]}, ☆ Ejemplares Disponibles: {libro[4]}") conn.close() return libros_encontrados def listar_libros(): conn = sqlite3.connect('biblioteca.db') cursor = conn.cursor() cursor.execute('SELECT * FROM libros') libros = cursor.fetchall() for libro in libros: print(f"☆ ID: {libro[0]}, ☆ Título: {libro[1]}, ☆ Autor: {libro[2]}, ☆ Editorial: {libro[3]}, ☆ Ejemplares Disponibles: {libro[4]}") conn.close() return libros # Crear la tabla si no existe crear_tabla_libros() def switch(opcion): opciones = { '1': agregar_libro, '2': eliminar_libro, '3': actualizar_libro, '4': buscar_libros, '5': listar_libros, '6': lambda: print("☆¡Hasta luego!☆"), } opciones.get(opcion, lambda: print("Opción no válida. Por favor, ingrese un número del 1 al 6."))() while True: print("\n✧‿ ︵‿ ୨♡୧‿ MENÚ ‿ ୨♡୧‿ ︵‿✧") print("\n1. Agregar Libro") print("2. Eliminar Libro") print("3. Actualizar Libro") print("4. Buscar Libros (por título o autor)") print("5. Listar Todos los Libros") print("6. Salir\n") opcion = input("Ingrese el número de la opción deseada: ") switch(opcion) if opcion == '6': break
Editor is loading...
Leave a Comment