Lanciare un dado

Vedi la discussione.

Le sei facce del dado sono equiprobabili, è necessario un generatore di numeri interi con distribuzione uniforme in [1,6]

import random

NUMERO=10

for i in range(NUMERO):
    x=random.randint(1, 6)
    print(i, x)

Verifichiamo, sperimentalmente, se gli esiti da 1 a 6 hanno la stessa probabilità.

Frequenze assolute

Conteggio dei lanci per ogni faccia.

...

#            1 2 3 4 5 6
FREQUENZE=[0,0,0,0,0,0,0]
 
for i in range(NUMERO):
    x = random.randint(1, 6)
    FREQUENZE[x] += 1

for i in range(1, 7):
    print(i, FREQUENZE[i])

Frequenze relative

Visualizza anche le percentuali corrispondenti

...
for i in range(1,7):
    print(i, FREQUENZE[i], 
          100*FREQUENZE[i]/NUMERO, "%")

Aggiungi il codice per realizzare il grafico

import random
 
NUMERO=1000

FREQUENZE=[0,0,0,0,0,0,0]
for i in range(NUMERO):
    x=random.randint(1, 6)
    FREQUENZE[x] += 1

#-------------------
import matplotlib.pyplot as plt
DADO=range(7)
plt.grid(which="major")
plt.bar(DADO, FREQUENZE)
plt.title("Un dado")
plt.show()
import random
 
NUMERO=1000

FREQUENZE=[0,0,0,0,0,0,0]
for i in range(NUMERO):
    x=random.randint(1, 6)
    FREQUENZE[x] += 1

#-------------------
from vpython import *
graph(fast=False, title="Un dado")
g = gvbars()
PUNTI = [(i, FREQUENZE[i]) for i in range(1, 7)]
g.plot(PUNTI)