En lançant une paire de dés, il y a 36 combinaisons possible (6 valeurs possibles pour le premier dé x 6 valeurs pour le deuxième). Cependant la somme des deux dés est plus intéressante que leur combinaison. Par exemple, il n’y a qu’une combinaison qui produit la somme de 2 = 1 + 1, deux combinaisons qui produisent la somme de 3 = 1 + 2 = 2 + 1, trois combinaisons qui produisent la somme de 4 = 1 + 3 = 2 + 2 = 3 + 1, …
Créez une fonction somme_des(n)
qui crée un dictionnaire de combinaisons de deux dés ayant n faces, en utilisant la somme des deux dés comme clé du dictionnaire. Chaque valeur dans ce dictionnaire est une liste non-vide de tuples; chaque tuple contient la valeur des deux dés.
Par exemple, en appelant somme_des(6)
on obtient :
{2: [(1,1)], 3: [(1,2),(2,1)], 4: [(1,3),(2,2),(3,1)], 5: [(1,4),(2,3),(3,2),(4,1)], 6: [(1,5),(2,4),(3,3),(4,2),(5, 1)], 7: [(1,6),(2,5),(3,4),(4,3),(5,2),(6,1)], 8: [(2,6),(3,5),(4,4),(5,3),(6,2)], 9: [(3,6),(4,5),(5,4),(6,3)], 10: [(4,6),(5,5),(6,4)], 11: [(5,6),(6,5)], 12: [(6,6)]}
La fonction demandée est la suivante:
def somme_des(n): """ @pre: n est un nombre entier > 0 @post: retourne un dictionnaire avec comme différentes clés chaque somme possible des valeurs des dés, et comme valeur associée à cette clé e, la liste des tuples des valeurs des dés qui addtionnées donnent e """ # à compléter
Si nécessaire vous pouvez aussi définir des fonctions auxiliaires.