Sandbox · Expérimentation

Histogramme des lancers de dés

Ce programme sandbox illustre la manière dont les lancers aléatoires de dés se distribuent statistiquement. Les résultats sont affichés sous forme d'histogramme, rendant directement visibles les fréquences et les parts relatives.

Format Pygame
Thème Probabilités & Statistiques
Affichage Histogramme
Interaction Clavier & Souris
Histogramme des lancers de dés

Introduction

Ce programme sandbox utilise Pygame pour afficher visuellement la fréquence des lancers de dés.

Le programme simule les lancers de dés et affiche les résultats sous forme d’un diagramme en barres. Chaque nombre de dé, de 1 à 6, possède sa propre barre. Plus la barre est haute, plus le nombre correspondant a été lancé fréquemment.

Cela crée un histogramme qui rend visible la distribution statistique des résultats.


Variables centrales

Le programme utilise plusieurs variables pour calculer les statistiques et afficher les données.

VariableSignification
countsListe du nombre de lancers par numéro de dé
total_rollsNombre total de tous les lancers
MAX_BAR_HEIGHTHauteur maximale des barres dans le diagramme

La hauteur d’une barre est calculée par rapport au lancer de dé le plus fréquent.


Panneau de contrôle

La simulation peut être contrôlée à la fois avec le clavier et avec les boutons dans la fenêtre.

Clavier

BoutonFonction
SPACELancer unique de dé
ASérie de lancers
RRéinitialiser les statistiques
ESCQuitter le programme

Boutons

En bas, il y a trois boutons :

BoutonFonction
+1Un lancer
+10Dix lancers
RSTRéinitialiser

Les boutons effectuent les mêmes fonctions que les commandes du clavier.


Comment un lancer de dé est compté

Un lancer de dé est généré avec un nombre aléatoire. La position correspondante dans la liste counts est alors augmentée.

1
2
3
w = random.randint(1, 6)
counts[w - 1] += 1
total_rolls += 1

Puisque les listes en Python commencent à 0, la valeur du dé est réduite de 1.


Affichage du histogramme

La hauteur des barres est calculée proportionnellement à la fréquence.

1
2
3
4
def bar_height(value, max_value):
    if max_value == 0:
        return 0
    return int((value / float(max_value)) * MAX_BAR_HEIGHT)

Cela maintient le diagramme bien échelonné et indépendant du nombre de lancers.

En outre, le programme affiche :


Valeur attendue

Dès que des lancers sont disponibles, une approximation de la valeur attendue est calculée.

1
ev = sum((i + 1) * probs[i] for i in range(6))

Cette valeur approche la valeur théorique d’un dé équitable avec un nombre croissant de lancers.

La valeur attendue théorique est :

[ E = 3.5 ]


Conseils pour expérimenter

Ce sandbox est destiné à permettre vos propres observations.

Expériences possibles :


Signification éducative

Ce sandbox relie plusieurs domaines :

Mathématiques

Informatique


À mesure que le nombre de lancers augmente, la distribution observée s'approche davantage de la probabilité théorique.

Le histogramme rend ainsi visible un concept central en statistiques : Loi des grands nombres.