Base de datos de la biblioteca - Python Programming Exercise

En este ejercicio, desarrollarás un programa en Python para crear una pequeña base de datos para almacenar datos de libros. Para cada libro, mantendrás la siguiente información: Título y Autor. El programa debe ser capaz de almacenar hasta 1,000 libros, y el usuario podrá agregar datos para un libro, mostrar todos los libros ingresados (solo título y autor, en la misma línea), buscar libro(s) con un título determinado, eliminar un libro en una posición conocida (por ejemplo, el libro número 6) y salir del programa. Este ejercicio es perfecto para practicar el uso de matrices y la manipulación de datos en Python, así como para mejorar tus habilidades en la interacción con el usuario y la gestión de bases de datos. Al implementar estas funcionalidades, obtendrás experiencia práctica en el manejo de la entrada y salida de datos en Python. Este ejercicio no solo refuerza tu comprensión de matrices y manipulación de datos, sino que también te ayuda a desarrollar prácticas de codificación eficientes para gestionar grandes conjuntos de datos. Además, este ejercicio proporciona una excelente oportunidad para explorar la versatilidad de Python en aplicaciones del mundo real. Al trabajar con una pequeña base de datos para almacenar datos de libros, aprenderás a almacenar y recuperar datos de manera eficiente, lo cual es una habilidad crucial en muchos escenarios de programación. Este ejercicio también te anima a pensar críticamente sobre cómo estructurar tu código para la escalabilidad y el rendimiento, convirtiéndolo en una valiosa adición a tu portafolio de programación. Ya seas un principiante o un programador experimentado, este ejercicio te ayudará a profundizar tu comprensión de Python y mejorar tus habilidades para resolver problemas.

 Categoría

Matrices, listas y cadenas

 Ejercicio

Base De Datos De La Biblioteca

 Objectivo

Desarrollar un programa Python para crear una pequeña base de datos para almacenar datos de libros. Para cada libro, queremos mantener la siguiente información:

- Título
- Autor

El programa debe poder almacenar hasta 1000 libros, y el usuario podrá:

- Agregar datos para un libro
- Mostrar todos los libros ingresados ​​(solo título y autor, en la misma línea)
- Buscar libros con un título determinado
- Eliminar un libro en una posición conocida (por ejemplo, el libro número 6)
- Salir del programa

Sugerencia: para eliminar un elemento en una matriz, debe mover hacia atrás cada elemento que se colocó después de él y luego disminuir el contador.

 Ejemplo de ejercicio de Python

 Copiar código Python
# Crear una lista vacía para almacenar los libros
books = []

while True:
    # Mostrar el menú de opciones
    print("\nMenú:")
    print("1. Agregar un libro")
    print("2. Mostrar todos los libros")
    print("3. Buscar un libro por título")
    print("4. Eliminar un libro por número")
    print("5. Salir")
    
    # Solicitar al usuario una opción
    option = input("Selecciona una opción (1-5): ")
    
    if option == "1":
        # Agregar un libro
        title = input("Introduce el título del libro: ")
        author = input("Introduce el autor del libro: ")
        books.append((title, author))
        print("Libro agregado exitosamente.")
    
    elif option == "2":
        # Mostrar todos los libros
        if not books:
            print("No hay libros disponibles.")
        else:
            print("\nTodos los libros:")
            for i, (title, author) in enumerate(books, 1):
                print(f"Libro {i}: {title} por {author}")
    
    elif option == "3":
        # Buscar un libro por título
        title_to_search = input("Introduce el título a buscar: ")
        found_books = [book for book in books if title_to_search.lower() in book[0].lower()]
        
        if found_books:
            print("\nLibros encontrados:")
            for i, (title, author) in enumerate(found_books, 1):
                print(f"Libro {i}: {title} por {author}")
        else:
            print("No se encontraron libros con ese título.")
    
    elif option == "4":
        # Eliminar un libro por número
        if not books:
            print("No hay libros para eliminar.")
        else:
            # Mostrar los libros antes de eliminar
            print("\nLibros actuales:")
            for i, (title, author) in enumerate(books, 1):
                print(f"Libro {i}: {title} por {author}")
            
            try:
                book_number = int(input("Introduce el número del libro a eliminar: "))
                if 1 <= book_number <= len(books):
                    books.pop(book_number - 1)  # Eliminar el libro
                    print("Libro eliminado exitosamente.")
                else:
                    print("Número de libro inválido.")
            except ValueError:
                print("Entrada inválida. Por favor, ingresa un número de libro válido.")
    
    elif option == "5":
        # Salir del programa
        print("Saliendo del programa.")
        break
    
    else:
        print("Opción inválida. Por favor, selecciona una opción entre 1 y 5.")

 Output

Menu:
1. Add a book
2. Show all books
3. Search for a book by title
4. Delete a book by number
5. Exit
Select an option (1-5): 1
Enter the book title: Don Quixote
Enter the author of the book: Miguel de Cervantes
Book added successfully.

Menu:
1. Add a book
2. Show all books
3. Search for a book by title
4. Delete a book by number
5. Exit
Select an option (1-5): 1
Enter the book title: One Hundred Years of Solitude
Enter the author of the book: Gabriel García Márquez
Book added successfully.

Menu:
1. Add a book
2. Show all books
3. Search for a book by title
4. Delete a book by number
5. Exit
Select an option (1-5): 2

All books:
Book 1: Don Quixote by Miguel de Cervantes
Book 2: One Hundred Years of Solitude by Gabriel García Márquez

Menu:
1. Add a book
2. Show all books
3. Search for a book by title
4. Delete a book by number
5. Exit
Select an option (1-5): 3
Enter the title to search for: One

Books found:
Book 1: One Hundred Years of Solitude by Gabriel García Márquez

Menu:
1. Add a book
2. Show all books
3. Search for a book by title
4. Delete a book by number
5. Exit
Select an option (1-5): 4

Current books:
Book 1: Don Quixote by Miguel de Cervantes
Book 2: One Hundred Years of Solitude by Gabriel García Márquez
Enter the number of the book to delete: 1
Book deleted successfully.

Menu:
1. Add a book
2. Show all books
3. Search for a book by title
4. Delete a book by number
5. Exit
Select an option (1-5): 2

All books:
Book 1: One Hundred Years of Solitude by Gabriel García Márquez

Menu:
1. Add a book
2. Show all books
3. Search for a book by title
4. Delete a book by number
5. Exit
Select an option (1-5): 5
Exiting the program.

 Comparte este ejercicio de Python

 Más Ejercicios Programación Python de Matrices, listas y cadenas

¡Explora nuestro conjunto de ejercicios de programación Python! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de Python. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte de manera gradual a medida que adquieres confianza en la codificación en Python.

  •  Triángulo mejorado V2

    En este ejercicio, desarrollarás un programa en Python que solicita al usuario su nombre y muestra un triángulo con él, comenzando con 1 letra y creciendo hasta tener...

  •  Rectángulo mejorado V3

    En este ejercicio, desarrollarás un programa en Python que solicita al usuario su nombre y un tamaño, y muestra un rectángulo hueco con él. Este ejercicio es p...

  •  Triángulo simétrico

    En este ejercicio, desarrollarás un programa en Python que muestra un triángulo centrado a partir de una cadena ingresada por el usuario. Este ejercicio es per...

  •  Base de datos urbana

    En este ejercicio, desarrollarás un programa en Python para crear una base de datos para almacenar información sobre áreas urbanas. En el primer enfoque, almacenarás ...

  •  Mostrar banner

    En este ejercicio, desarrollarás un programa en Python para imitar la utilidad básica "banner" de Unix SysV, capaz de mostrar textos grandes. Este ejercicio es...

  •  Triángulo alineado a la derecha

    En este ejercicio, desarrollarás un programa en Python que solicita al usuario una cadena y muestra un triángulo alineado a la derecha. Este ejercicio es perfe...