Menu
Coddy logo textTech

Descripción general del proyecto

Parte de la sección Object Oriented Programming del Journey de Python de Coddy — lección 55 de 64.

challenge icon

Desafío

Intermedio

En este desafío, implementarás la base para un Sistema de Gestión de Biblioteca.

Edita library.py para implementar las clases requeridas siguiendo los comentarios TODO. El archivo driver contiene extensos escenarios de prueba que validan tu implementación.

  • Sigue los comentarios TODO en library.py para obtener una guía paso a paso
  • Implementa la clase Library con la inicialización y representación de cadena adecuadas

Hoja de referencia

El desafío se centra en implementar un Sistema de Gestión de Bibliotecas con una estructura de clases adecuada y métodos de representación de cadenas. No se proporcionó contenido de lección específico para crear una hoja de trucos completa.

Pruébalo tú mismo

# TODO: Importar la clase Library de library.py
# Usar formato: from library import Library

# Manejador integral de casos de prueba
test_case = input()

if test_case == "basic_library_creation":
    # TODO: Crear una biblioteca con el nombre "Test Library"
    # TODO: Imprimir el objeto library (esto llamará al método __str__)
    pass
    
elif test_case == "library_attributes":
    # TODO: Crear una biblioteca con el nombre "Test Library"
    # TODO: Imprimir el atributo name de la biblioteca en el formato: Name: Test Library
    # TODO: Imprimir la longitud de la lista books en el formato: Books: 0
    # TODO: Imprimir la longitud de la lista users en el formato: Users: 0
    # Sugerencia: Usar f-strings, ej. print(f"Name: {library.name}")
    pass

elif test_case == "multiple_libraries":
    # TODO: Crear dos bibliotecas diferentes con los nombres "Library 1" y "Library 2"
    # TODO: Imprimir ambos objetos library
    pass

elif test_case == "empty_name":
    # TODO: Crear una biblioteca con una cadena vacía como nombre
    # TODO: Imprimir el objeto library
    pass

elif test_case == "special_characters":
    # TODO: Crear una biblioteca con el nombre "!@#$%^&*()"
    # TODO: Imprimir el objeto library
    pass

elif test_case == "very_long_name":
    # TODO: Crear una biblioteca con un nombre de exactamente 100 caracteres 'A' (usar "A" * 100)
    # TODO: Imprimir el objeto library
    pass

elif test_case == "add_books_users":
    # TODO: Crear una biblioteca con el nombre "Test Library"
    # TODO: Agregar estos elementos a la lista books: ["Book1", "Book2", "Book3"]
    # TODO: Agregar estos elementos a la lista users: ["User1", "User2"]
    # TODO: Imprimir el objeto library (debería mostrar los conteos actualizados)
    pass

elif test_case == "empty_lists":
    # TODO: Crear una biblioteca con el nombre "Test Library"
    # TODO: Imprimir la longitud de la lista books en el formato: Books length: 0
    # TODO: Imprimir la longitud de la lista users en el formato: Users length: 0
    # Sugerencia: Usar f-strings, ej. print(f"Books length: {len(library.books)}")
    pass

elif test_case == "type_validation":
    # TODO: Crear una biblioteca con el entero 123 como nombre
    # TODO: Imprimir el objeto library (debería convertirse a cadena)
    pass

Todas las lecciones de Object Oriented Programming