Simulation 4 : correction de la question 3 de l'activité 2

On joue au jeu de dés suivant.
On lance deux dés bien équilibrés. Le nombre de points obtenus par le joueur est le chiffre des unités du produit des faces.
L'utilisateur du programme suivant doit pouvoir saisir le nombre n de lancers des deux dés qu'il souhaite et obtenir le tableau des effectifs et des fréquences des différents résultats possibles.
On pourra utiliser une variable de type liste qui contiendra les effectifs des différents résultats possibles.

Voici une version possible de la programmation de cette nouvelle version du jeu.

Une solution Python


# -*- coding: utf-8 -*-
#-------------------------------------------------------------------------------

#Importation des bibliothèques nécessaires au bond fonctionnement du programme
#------------------------------------------------------------------------------

from math import*
from random import*


#Création des fonctions Python
#--------------------------------------------------------------------------

#Fonction qui simule le jeu
def Jeu():
    de1=naissance=floor(6*random()+1)
    #print('dé n°1',de1)
    de2=naissance=floor(6*random()+1)
    #print('dé n°2',de2)
    produit=de1*de2
    dizaine=floor(produit*0.1)*10
    point=produit-dizaine
    return point

#Fonction qui crée un échantillon de taille n de cette simulation
def Echantillon_Jeu(taille):
    liste=[]
    for i in range(taille):
        p=Jeu()
        liste.append(p)   #ajoute l'élément f dans liste
    return liste

#Fonction Python qui crée le tableau des effectifs des événements élémentaires
def Effectif(liste):
    for i in range(10):     # i prend les valeurs 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
        nb=liste.count(i)
        print('Nombre de parties à ',i, 'points : ',nb)

#Fonction Python qui crée le tableau des fréquences des événements élémentaires
def Frequence(liste):
    long=len(liste)        # calcule la taille de la liste
    for i in range(10):     # i prend les valeurs 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
        nb=liste.count(i)  #compte le nomre de i dans liste
        freq=nb/long
        print('Fréquence des parties à ',i, 'points : ',freq)

#Programme principal
#--------------------------------------------------------------------------

#print(Jeu())
#print('Liste de résultats',Echantillon_nbFille(10))

n=int(input("Donner la taille de l'échantillon"))
liste=Echantillon_Jeu(n)
print('Effectifs')
Effectif(liste)
print('Fréquences')
Frequence(liste)