Feat: nettoyage des fiches élèves Pile et file et correction dans
correction
This commit is contained in:
parent
38c4a9f847
commit
cc553348f6
153
Pile_file/file.py
Normal file
153
Pile_file/file.py
Normal file
@ -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
|
153
Pile_file/pile.py
Normal file
153
Pile_file/pile.py
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user