Skip to content
Snippets Groups Projects
Commit 4b40aef2 authored by BiocheH's avatar BiocheH
Browse files

ajout de qques docstrings etc

parent ee6b88d5
No related branches found
No related tags found
No related merge requests found
......@@ -2,18 +2,25 @@
from itertools import chain
class TabletteChocolat:
def __init__(self, m: int, n: int):
'''
On instancie une tablette en fonction de sa taille m*n
'''
if not (isinstance(m, int) and isinstance(n, int)):
raise TypeError('given values must be integers')
self.m = m
self.n = n
def __str__(self):
def __str__(self) -> str:
return 'Tablette de chocolat de ' + str(self.m) + 'x' + str(self.n)
# __repr__ n'est pas surchargé car à priori dans notre cas __str__ suffit
def coups_possibles(self):
'''
renvoie un générateur des coups possibles
'''
result = []
for i in range(1, self.m):
result.append((i, 0))
......@@ -21,10 +28,16 @@ class TabletteChocolat:
result.append((0, j))
return chain(result)
def est_possible(self, couple):
def est_possible(self, couple: tuple) -> bool:
'''
renvoie si oui ou non un coup est possible sur la tablette courante
'''
return couple in list(self.coups_possibles())
def coupe(self, couple):
def coupe(self, couple: tuple):
'''
renvoie la tablette qui résulte de la coupe donnée sur la tablette courante
'''
return TabletteChocolat(self.m - couple[0], self.n - couple[1])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment