.. _f-hermionneclasses: module ``special.hermionne_classes`` ==================================== .. inheritance-diagram:: ensae_teaching_cs.special.hermionne_classes Short summary +++++++++++++ module ``ensae_teaching_cs.special.hermionne_classes`` Implémentation de la résolution de l'énigme d'Hermionne (Harry Potter tome 1) avec des classes. `logique `_. :githublink:`%|py|8` Classes +++++++ +----------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ | class | truncated documentation | +======================================================================+=========================================================================================================================+ | :class:`Case ` | L'énigme d'Hermionne repose sur 7 cases disposées en ligne. Cette classe définit une case. | +----------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ | :class:`Enigme ` | description de l'énigme | +----------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ | :class:`Regle ` | L'énigme repose sur des règles. Chaque règle hérite de cette classe et implémente la méthode *correcte* qui vérifie ... | +----------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ | :class:`Regle1 ` | implémente la première règle | +----------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ | :class:`Regle2 ` | implémente la seconde règle | +----------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ | :class:`Regle3 ` | implémente la troisième règle | +----------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ | :class:`Regle4 ` | implémente la quatrième règle | +----------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ | :class:`Regle5 ` | implémente la cinquième règle | +----------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ Functions +++++++++ +-------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------+ | function | truncated documentation | +=========================================================================+========================================================================================================+ | :func:`solution ` | parcourt toutes les configurations possibles et s'arrête à la première qui satsifait toutes les règles | +-------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------+ Methods +++++++ +--------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ | method | truncated documentation | +==================================================================================================+============================================================================================================+ | :py:meth:`__init__ ` | constructeur | +--------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ | :py:meth:`__init__ ` | constructeur, définit les règles et les cases | +--------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ | :py:meth:`__str__ ` | affiche le contenu | +--------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ | :py:meth:`__str__ ` | affiche la solution | +--------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ | :meth:`correcte ` | cette méthode doit être surchargée | +--------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ | :meth:`correcte ` | vérifie qu'on a bien le bon nombre de types de fioles | +--------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ | :meth:`correcte ` | vérifie le voisi n de reculer | +--------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ | :meth:`correcte ` | ... | +--------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ | :meth:`correcte ` | ... | +--------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ | :meth:`correcte ` | ... | +--------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ | :meth:`resoud ` | résoud l'énigme en essayant toutes les combinaisons possibles, ce n'est pas la plus efficace des solutions | +--------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ | :meth:`solution_correcte ` | détermine si une solution vérifie toutes les règles | +--------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ Documentation +++++++++++++ .. automodule:: ensae_teaching_cs.special.hermionne_classes :members: :special-members: __init__ :show-inheritance: