Menu
Coddy logo textTech

Présentation du projet

Fait partie de la section Object Oriented Programming du Journey Python de Coddy — leçon 55 sur 64.

challenge icon

Défi

Moyen

Dans ce défi, vous allez implémenter la base d'un système de gestion de bibliothèque.

Modifiez library.py pour implémenter les classes requises en suivant les commentaires TODO. Le fichier driver contient des scénarios de test approfondis qui valident votre implémentation.

  • Suivez les commentaires TODO dans library.py pour un guidage étape par étape
  • Implémentez la classe Library avec une initialisation appropriée et une représentation sous forme de chaîne de caractères

Aide-mémoire

Le défi porte sur la mise en œuvre d'un système de gestion de bibliothèque avec une structure de classe appropriée et des méthodes de représentation de chaînes de caractères. Aucun contenu de leçon spécifique n'a été fourni pour créer un aide-mémoire complet.

Essayez vous-même

# TODO: Importer la classe Library depuis library.py
# Utiliser le format : from library import Library

# Gestionnaire complet de cas de test
test_case = input()

if test_case == "basic_library_creation":
    # TODO: Créer une bibliothèque avec le nom "Test Library"
    # TODO: Afficher l'objet library (cela appellera la méthode __str__)
    pass
    
elif test_case == "library_attributes":
    # TODO: Créer une bibliothèque avec le nom "Test Library"
    # TODO: Afficher l'attribut name de la bibliothèque au format : Name: Test Library
    # TODO: Afficher la longueur de la liste books au format : Books: 0
    # TODO: Afficher la longueur de la liste users au format : Users: 0
    # Astuce : Utiliser des f-strings, par ex. print(f"Name: {library.name}")
    pass

elif test_case == "multiple_libraries":
    # TODO: Créer deux bibliothèques différentes avec les noms "Library 1" et "Library 2"
    # TODO: Afficher les deux objets library
    pass

elif test_case == "empty_name":
    # TODO: Créer une bibliothèque avec une chaîne vide comme nom
    # TODO: Afficher l'objet library
    pass

elif test_case == "special_characters":
    # TODO: Créer une bibliothèque avec le nom "!@#$%^&*()"
    # TODO: Afficher l'objet library
    pass

elif test_case == "very_long_name":
    # TODO: Créer une bibliothèque avec un nom d'exactement 100 caractères 'A' (utiliser "A" * 100)
    # TODO: Afficher l'objet library
    pass

elif test_case == "add_books_users":
    # TODO: Créer une bibliothèque avec le nom "Test Library"
    # TODO: Ajouter ces éléments à la liste books : ["Book1", "Book2", "Book3"]
    # TODO: Ajouter ces éléments à la liste users : ["User1", "User2"]
    # TODO: Afficher l'objet library (devrait montrer les compteurs mis à jour)
    pass

elif test_case == "empty_lists":
    # TODO: Créer une bibliothèque avec le nom "Test Library"
    # TODO: Afficher la longueur de la liste books au format : Books length: 0
    # TODO: Afficher la longueur de la liste users au format : Users length: 0
    # Astuce : Utiliser des f-strings, par ex. print(f"Books length: {len(library.books)}")
    pass

elif test_case == "type_validation":
    # TODO: Créer une bibliothèque avec l'entier 123 comme nom
    # TODO: Afficher l'objet library (devrait être converti en chaîne)
    pass

Toutes les leçons de Object Oriented Programming