From cc553348f6a935d05033d349e6c0ef8480b74b6e Mon Sep 17 00:00:00 2001 From: Bertrand Benjamin Date: Wed, 9 Jun 2021 18:46:47 +0200 Subject: [PATCH] =?UTF-8?q?Feat:=20nettoyage=20des=20fiches=20=C3=A9l?= =?UTF-8?q?=C3=A8ves=20Pile=20et=20file=20et=20correction=20dans=20correct?= =?UTF-8?q?ion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Pile_file/file.py | 153 ++++++++++++++++++++++++++++++++++ Pile_file/pile.py | 153 ++++++++++++++++++++++++++++++++++ file.py => correction/file.py | 0 pile.py => correction/pile.py | 0 4 files changed, 306 insertions(+) create mode 100644 Pile_file/file.py create mode 100644 Pile_file/pile.py rename file.py => correction/file.py (100%) rename pile.py => correction/pile.py (100%) diff --git a/Pile_file/file.py b/Pile_file/file.py new file mode 100644 index 0000000..f7c457d --- /dev/null +++ b/Pile_file/file.py @@ -0,0 +1,153 @@ +class Node: + """La classe ```Node``` sera un noeud (une case, un emplacement, ...) où l'on stockera notre donnée + + Les objets de cette classe ont deux attributs: + + value: qui correspond à la valeur stockée + nxt: la référence vers le prochain élément + + """ + + def __init__(self, value=None, nxt=None) -> None: + """Initialisation du "node" + + :param value: valeur à stocker dans ce "node" + :param nxt: Node du prochain élément + + :consignes: compléter l'initialisation de la classe. + + :example: + >>> n1 = Node(1) + >>> assert n1.value == 1 + >>> assert n1.nxt is None + >>> n2 = Node(5, n1) + >>> assert n2.value == 5 + >>> assert n2.nxt == n1 + >>> n3 = Node("a", n2) + >>> assert n3.value == "a" + >>> assert n3.nxt == n2 + """ + pass + + +class File: + """ + La classe ```File``` doit posséder un élément "courant" qui est l'élément sur le dessus de la file. + + Fonctionnement d'une file + + ----------- + append ----> _ _ _ _ _ + ----------- + + ----------- + _ _ _ _ _ ----> pop + ----------- + + Elle doit aussi posséder un entier ```n``` qui compte le nombre d'éléments dans la file + + Cette classe aura donc 2 attributs: + - current avec l'élément courant + - n avec le nombre d'éléments dans la file + + :consignes: Compléter les méthodes suivantes.""" + + def __init__(self) -> None: + """Initialisation de la File vide + + :example: + >>> file = File() + >>> assert file.n == 0 + >>> assert file.current is None + """ + pass + + def append(self, value): + """Ajoute "value" dans la file + + Comme nous sommes dans une file, l'élément doit être ajouté en dernière position. + + :example: + >>> file = File() + >>> file.append(1) + >>> assert file.n == 1 + >>> assert file.current.value == 1 + >>> file.append("a") + >>> assert file.n == 2 + >>> assert file.current.value == 1 + """ + pass + + def get_current(self): + """Renvoie la prochaine valeur sans l'enlever de la file + Si la liste est vide, la fonction renvoie None. + + :example: + >>> file = File() + >>> file.get_current() + >>> file.append(3) + >>> file.get_current() + 3 + >>> file.get_current() + 3 + """ + pass + + def is_empty(self): + """Vérifie si le file est vide + + :example: + >>> file = File() + >>> file.is_empty() + True + >>> file.append(1) + >>> file.is_empty() + False + + """ + pass + + def pop(self): + """Renvoie le prochain élément de la file et l'enlève + + Comme c'est une file, le prochain élément est le premier élément arrivé. + + Si la liste est vide, la fonction renvoie rien + + :example: + >>> file = File() + >>> file.pop() + >>> file.append(2) + >>> file.pop() + 2 + >>> file.pop() + >>> file.append(2) + >>> file.append(5) + >>> file.append("a") + >>> file.pop() + 2 + >>> file.pop() + 5 + >>> file.pop() + 'a' + >>> + + """ + pass + + def empty(self): + """vide la file c'est à dire element tous les elements de cette dernière + + :example: + >>> file = File() + >>> file.append(3) + >>> file.append(5) + >>> file.append("a") + >>> file.get_current() + 3 + >>> assert file.n == 3 + >>> file.empty() + >>> file.get_current() + >>> assert file.n == 0 + """ + pass diff --git a/Pile_file/pile.py b/Pile_file/pile.py new file mode 100644 index 0000000..38248c1 --- /dev/null +++ b/Pile_file/pile.py @@ -0,0 +1,153 @@ +class Node: + """La classe ```Node``` sera un noeud (une case, un emplacement, ...) où l'on stockera notre donnée + + Les objets de cette classe ont deux attributs: + + value: qui correspond à la valeur stockée + nxt: la référence vers le prochain élément + + """ + + def __init__(self, value=None, nxt=None) -> None: + """Initialisation du "node" + + :param value: valeur à stocker dans ce "node" + :param nxt: Node du prochain élément + + :consignes: compléter l'initialisation de la classe. + + :example: + >>> n1 = Node(1) + >>> assert n1.value == 1 + >>> assert n1.nxt is None + >>> n2 = Node(5, n1) + >>> assert n2.value == 5 + >>> assert n2.nxt == n1 + >>> n3 = Node("a", n2) + >>> assert n3.value == "a" + >>> assert n3.nxt == n2 + """ + pass + + +class Pile: + """ + La classe ```Pile``` doit posséder un élément "courant" qui est l'élément sur le dessus de la pile. + + Fonctionnement d'une pile + + ----------- + _ _ _ _ _ <---- append + ----------- + + ----------- + _ _ _ _ _ ----> pop + ----------- + + + Elle doit aussi posséder un entier ```n``` qui compte le nombre d'éléments dans la pile + + Cette classe aura donc 2 attributs: + - current avec l'élément courant + - n avec le nombre d'éléments dans la pile + + :consignes: Compléter les méthodes suivantes. + """ + + def __init__(self) -> None: + """Initialisation de la Pile vide + + :example: + >>> pile = Pile() + >>> assert pile.n == 0 + >>> assert pile.current is None + """ + pass + + def append(self, value): + """Ajoute "value" dans la pile + + :example: + >>> pile = Pile() + >>> pile.append(1) + >>> assert pile.n == 1 + >>> assert pile.current.value == 1 + >>> pile.append("a") + >>> assert pile.n == 2 + >>> assert pile.current.value == "a" + """ + pass + + def get_current(self): + """Renvoie la prochaine valeur sans l'enlever de la pile + Si la liste est vide, la fonction renvoie None. + + :example: + >>> pile = Pile() + >>> pile.get_current() + >>> pile.append(3) + >>> pile.get_current() + 3 + >>> pile.get_current() + 3 + """ + pass + + def is_empty(self): + """Vérifie si le pile est vide + + :example: + >>> pile = Pile() + >>> pile.is_empty() + True + >>> pile.append(1) + >>> pile.is_empty() + False + + """ + pass + + def pop(self): + """Renvoie le prochain élément de la pile et l'enlève. + + Comme c'est une pile, le prochain élément est le dernier élément arrivé. + + Si la liste est vide, la fonction renvoie None. + + :example: + >>> pile = Pile() + >>> pile.pop() + >>> pile.append(2) + >>> pile.pop() + 2 + >>> pile.pop() + >>> pile.append(2) + >>> pile.append(5) + >>> pile.append("a") + >>> pile.pop() + 'a' + >>> pile.pop() + 5 + >>> pile.pop() + 2 + >>> + + """ + pass + + def empty(self): + """vide la pile c'est à dire element tous les elements de cette dernière + + :example: + >>> pile = Pile() + >>> pile.append(3) + >>> pile.append(5) + >>> pile.append("a") + >>> pile.get_current() + 'a' + >>> assert pile.n == 3 + >>> pile.empty() + >>> pile.get_current() + >>> assert pile.n == 0 + """ + pass diff --git a/file.py b/correction/file.py similarity index 100% rename from file.py rename to correction/file.py diff --git a/pile.py b/correction/pile.py similarity index 100% rename from pile.py rename to correction/pile.py