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))