Lanciare 2 dadi

Gli esiti, da 2 a 12, del lancio di due dadi vengono rappresentati dinamicamente con un grafico a barre verticali

from vpython import *
import random

g  = graph(title="Somma dei 2 dadi", xmin=1, xmax=13)
gv = gvbars(color=color.purple, delta=0.9)
 
#         0  1  2  3  4  5  6  7  8  9 10 11 12
CONTO = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

LANCI = 10000
for i in range(LANCI):
    rate(50)
    dado_1 = random.randint(1, 6) 
    dado_2 = random.randint(1, 6)
    dadi   = dado_1+dado_2 
    CONTO[dadi] += 1
    gv.data = list(enumerate(CONTO))

Il primo grafico visualizza gli esiti, separati, dei due dadi.

Per osservare meglio l’andamento della distribuzione della variabile casuale “somma dei due dadi” imposta

  • rate(1)

e aumenta un po’ alla volta la velocità di esecuzione.

from vpython import *
import random

g12 = graph(title="Somma dei 2 dadi", xmin=1, xmax=13)
g   = graph(title="Dado 1 e 2"      , xmin=0, xmax=7)


gv_1 = gvbars(color=color.red   , delta=0.8, graph=g)
gv_2 = gvbars(color=color.blue  , delta=0.8, graph=g)
gv12 = gvbars(color=color.purple, delta=0.9, graph=g12)
 
#           0  1  2  3  4  5  6  7  8  9 10 11 12
CONTO_1 = [ 0, 0, 0, 0, 0, 0, 0]
CONTO_2 = [ 0, 0, 0, 0, 0, 0, 0]
CONTO12 = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

LANCI = 100  # 10000
for i in range(LANCI):
    rate(1) #  50
    dado_1 = random.randint(1, 6) 
    dado_2 = random.randint(1, 6)
    dadi12 = dado_1+dado_2 

    CONTO_1[dado_1] += 1
    CONTO_2[dado_2] += 1
    CONTO12[dadi12] += 1

    gv_1.data = list(enumerate(CONTO_1))
    gv_2.data = list(enumerate(CONTO_2))
    gv12.data = list(enumerate(CONTO12))

Lascia un commento