Information

Author(s) Tanguy De Bels
Deadline No deadline
Submission limit No limitation

Sign in

[Q3] Sommes de deux dés - dictionnaire

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.


Question 1: somme_des
Question 2: Zone de test

Insérez votre code de test optionnel ci-dessous. Vous pouvez utiliser print pour tester votre programme. Votre code de test sera exécuté à la suite de la définition de votre méthode somme_des et d’éventuelles fonctions auxiliaires ci-dessus (il ne faut pas les recopier ici).

Exemple: