Sandbox · Experiment

Tärningskast-histogram

Detta sandbox-program visar hur slumpmässiga tärningskast statistiskt fördelar sig. Resultaten visas som ett histogram, vilket gör frekvenser och relativa delar direkt synliga.

Format Pygame
Temat Sannolikhet & Statistik
Visa Histogram
Interaction Tangentbord & Mus
Tärningskast-histogram

Introduktion

Detta sandbox-program använder pygame för att visuellt visa frekvensen av tärningskast.

Programmet simulerar tärningskast och visar resultaten som ett stapeldiagram. Varje tärningstal från 1 till 6 får sin egen stolpe. Ju högre stolpen är, desto oftare kastades det svarande talet.

Detta skapar ett histogram som gör den statistiska fördelningen av resultaten synlig.


Centrala variabler

Programmet använder flera variabler för att räkna ut statistik och visa.

VariabelBetydelse
countsLista över antalet kast per tärningstal
total_rollsTotalt antal av alla kast
MAX_BAR_HEIGHTMaximal höjd på staplarna i diagrammet

Barhöjd beräknas i förhållande till den mest frekventa tärningskastningen.


Styrpanel

Simulationen kan styras både med tangentbordet och med knappar i fönstret.

Tangentbord

KnappFunktion
SPACEEnkel tärningskastning
ASerier av kast
RNollställ statistik
ESCAvsluta programmet

Knappar

I botten finns tre knappar:

KnappFunktion
+1Ett kast
+10Tio kast
RSTNollställ

Knapparna utför samma funktioner som tangentbordskommandon.


Hur ett tärningskast räknas

Ett tärningskast genereras med ett slumpmässigt tal. Den korresponderande positionen i listan counts ökar sedan.

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

Eftersom listor i Python börjar på 0, minskas tärningsvärdet med 1.


Histogramvisning

Barhöjden beräknas proportionellt till frekvensen.

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)

Detta håller diagrammet väl skalat och oberoende av antalet kast.

I addition visar programmet:


Förväntat värde

Så snart kast finns tillgängliga, beräknas en approximation av det förväntade värdet.

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

Denna värde närmar sig det teoretiska värdet för ett rättvist tärning med ökande antal kast.

Det teoretiska förväntade värdet är:

[ E = 3.5 ]


Tips för att experimentera

Denna sandbox är avsedd att göra egna observationer.

Möjliga experiment:


Utbildningsmässig betydelse

Denna sandbox kopplar ihop flera ämnesområden:

Matematik

Datavetenskap


När antalet kast ökar, närmar sig den observerade fördelningen det teoretiska sannolikheten mer.

Histogrammet gör därmed ett centralt begrepp i statistiken synligt: Lagen om stora tal.