diff --git a/main.py b/main.py index 9613a1af25ae00f59de5846a37a055836899b6dc..dd493ecb6af90995551838ca78aa3eee27304bd7 100644 --- a/main.py +++ b/main.py @@ -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])