diff --git a/TP9/apqueue.py b/TP9/apqueue.py old mode 100644 new mode 100755 index cdc44f7d34f0c344ae262e89fb6af1a93e633d08..ded4cb4c21394e96a45eb6d72385c43efb9fb7ed --- a/TP9/apqueue.py +++ b/TP9/apqueue.py @@ -97,6 +97,13 @@ class ApQueue(): return ApQueue.ARROW + \ "|".join(str(el) for el in self.__content) + \ ApQueue.ARROW + + def __len__(self) -> int: + """ + return the length of this queue + """ + return len(self.__content) + if __name__ == '__main__': diff --git a/TP9/card.py b/TP9/card.py index 820363743b107ae69723229107636f2804072c99..b6f473922e6076fbeb0ba2e7bf0423da74bb484e 100755 --- a/TP9/card.py +++ b/TP9/card.py @@ -134,6 +134,14 @@ class Card(object): $$$ len(set(cartes)) len(cartes) """ + res=[] + for i in range(n_card): + valeur = random.randint(0,len(Card.VALUES)-1) + color = random.randint(0,len(Card.COLORS)-1) + carte = Card(Card.VALUES[valeur] , Card.COLORS[color]) + if carte not in res: + res.append(carte) + return res def __eq__(self, card: Card) -> bool: diff --git a/TP9/war.py b/TP9/war.py old mode 100644 new mode 100755 index e1acaccd3e8c30fe38cf8862e58886e2ce5459e8..7ceee8298d7981f41147c055698485423246fc2f --- a/TP9/war.py +++ b/TP9/war.py @@ -37,7 +37,18 @@ def distribute(n_card: int) -> tuple[ApQueue, ApQueue]: $$$ isinstance(carte, Card) True """ - ... + liste_carte = Card.deck(n_card*2) + queue_vide1 = ApQueue() + queue_vide2 = ApQueue() + m1 = liste_carte[:n_card] + m2 = liste_carte[n_card:] + for i in m1: + queue_vide1.enqueue(i) + for i in m2: + queue_vide2.enqueue(i) + return queue_vide1 , queue_vide2 + + def gather_stack(main: ApQueue, pile: ApStack) -> None: """ @@ -49,7 +60,7 @@ def gather_stack(main: ApQueue, pile: ApStack) -> None: $$$ main = ApQueue() $$$ pile = ApStack() $$$ for c in cartes: - ... pile.push(c) + pile.push(c) $$$ gather_stack( main, pile ) $$$ len( main ) == 4 True