Lanciando 8 volte una moneta…

Esame di Stato 2008 Suppletiva – Quesito 4

Si determini la probabilità che, lanciando 8 volte una moneta non truccata, si ottenga 4 volte testa.


Vedi la discussione: 27,34 %

1

Simula il lancio di 8 monete per un certo numero di volte.
Conta quante volte il numero di testa è 4.

import random

TESTA=0
CROCE=1
MONETA=[TESTA, CROCE]

PROVE=10                       # 10000 100000
conta=0
for p in range(PROVE):
    testa=0
    for lancio in range(8):
        moneta=random.choice(MONETA)
        print(moneta, end=" ") # da eliminare se...
        if(moneta == TESTA):
            testa += 1
    if(testa == 4):
        conta += 1
    print(conta)               # da eliminare se...

print("%5i %5.2f" %(conta, 100*conta/PROVE))

2

Conta quante volte il numero di testa è 0,1,…,8

import random 

TESTA=0 
CROCE=1 
MONETA=[TESTA, CROCE] 

PROVE=10                        # 10000 100000 
CONTI=[0,0,0,0,0,0,0,0,0] 
for p in range(PROVE): 
    testa=0 
    for lancio in range(8): 
        moneta=random.choice(MONETA)
        print(moneta, end=" ") # da eliminare se... 
        if(moneta == TESTA): 
            testa += 1 
    CONTI[testa] += 1
    print(CONTI)               # da eliminare se... 

for i in range(9):
    print("%5i %5.2f" %(CONTI[i], 100*CONTI[i]/PROVE))

matplotlib

import matplotlib.pyplot as plt
import random

TESTA=0
CROCE=1
MONETA=[TESTA, CROCE]

PROVE=100000
CONTI=[0,0,0,0,0,0,0,0,0]
for p in range(PROVE):
    testa=0
    for lancio in range(8):
        moneta=random.choice(MONETA)
        if(moneta == TESTA):
            testa += 1
    CONTI[testa] += 1

for i in range(9):
    print("%5i %5.2f" %(CONTI[i], 100*CONTI[i]/PROVE))

plt.grid(True)
plt.bar(range(9), CONTI)

plt.show()