25-NSIJ2PO1-1 Énoncé Sujet class Carte: def __init__(self, valeur): self.valeur = valeur self.TdB = self.calcul_TdB() def calcul_TdB(self): tdb = 0 if self.valeur % 11 == 0: tdb += 5 if self.valeur % 10 == 0: tdb += 3 if self.valeur % 10 == 5: tdb += 2 if tdb == 0: tdb = 1 return tdb # alternative def calcul_TdB(self): v = self.valeur return max(1, (v % 11 == 0) * 5 + (v % 10 == 0) * 3 + (v % 10 == 5) * 2) def est_superieure_a(self, autre): return self.valeur > autre.valeur class Paquet: def __init__(self, L): self.contenu = L def afficher(self): for carte in self.contenu: print(carte.valeur) def ajouter_carte(self, carte): self.contenu.append(carte) def nombre_TdB(self): total = 0 for carte in self.contenu: total += carte.TdB return total # alternative def nombre_TdB(self): return sum(carte.TdB for carte in self.contenu) def distribuer(self, nbr): paquets = [Paquet([]) for j in range(nbr)] for i in range(10): for j in range(nbr): paquets[j].ajouter_carte(self.contenu.pop()) return paquets J1 = Joueur('Joueur 1', L[0]) from random import * jeu = [Carte(i) for i in range (1, 105)] shuffle(jeu) jeu_initial = Paquet(jeu) distri = jeu_initial.distribuer(2) Ordi = Joueur('Ordi', distri[0]) J1 = Joueur('J1', distri[1])