Untitled
unknown
plain_text
2 years ago
3.3 kB
9
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,
ejemplares_disponibles INTEGER NOT NULL
)
''')
conn.commit()
conn.close()
def agregar_libro():
titulo = input("Ingrese el título del libro: ")
autor = input("Ingrese el autor 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, ejemplares_disponibles)
VALUES (?, ?, ?)
''', (titulo, autor, 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,))
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: "))
nuevo_autor = input("Ingrese el nuevo autor del libro: ")
conn = sqlite3.connect('biblioteca.db')
cursor = conn.cursor()
cursor.execute('''
UPDATE libros
SET ejemplares_disponibles = ?, autor = ?
WHERE id = ?
''', (nuevos_ejemplares, nuevo_autor, libro_id))
conn.commit()
conn.close()
def buscar_libros():
criterio = input("Ingrese el criterio de búsqueda (titulo/autor): ")
valor = input(f"Ingrese el valor a buscar por {criterio}: ")
conn = sqlite3.connect('biblioteca.db')
cursor = conn.cursor()
cursor.execute(f'''
SELECT * FROM libros
WHERE {criterio} LIKE ?
''', ('%' + valor + '%',))
libros_encontrados = cursor.fetchall()
conn.close()
return libros_encontrados
def listar_libros():
conn = sqlite3.connect('biblioteca.db')
cursor = conn.cursor()
cursor.execute('SELECT * FROM libros')
libros = cursor.fetchall()
conn.close()
return libros
# Crear la tabla si no existe
crear_tabla_libros()
while True:
print("\n======= Menú =======")
print("1. Agregar Libro")
print("2. Eliminar Libro")
print("3. Actualizar Libro")
print("4. Buscar Libros")
print("5. Listar Todos los Libros")
print("6. Salir")
opcion = input("Ingrese el número de la opción deseada: ")
if opcion == '1':
agregar_libro()
elif opcion == '2':
eliminar_libro()
elif opcion == '3':
actualizar_libro()
elif opcion == '4':
resultado = buscar_libros()
print(resultado)
elif opcion == '5':
todos_los_libros = listar_libros()
for libro in todos_los_libros:
print(libro)
elif opcion == '6':
print("¡Hasta luego!")
break
else:
print("Opción no válida. Por favor, ingrese un número del 1 al 6.")
Editor is loading...
Leave a Comment