Simulazione del gioco con due dadi Craps.
import random
#-------------------------------------------------------------
def dado() : return random.randint(1,6)
def lancio(): return dado()+dado()
#-------------------------------------------------------------
def gioco(ok):
primo=lancio()
if(ok):
print(primo, end=" ")
if(primo == 7) or (primo == 11):
esito=+1
elif(primo == 2) or (primo == 3) or (primo == 12):
esito=-1
else:
esito=0
while(esito == 0):
ciclo=lancio()
if(ok):
print(ciclo, end=" ")
if(ciclo == primo):
esito=+1
elif(ciclo == 7):
esito=-1
else:
primo=ciclo
if(ok):
if(esito == 1): print("+")
else : print("-")
return esito
#-------------------------------------------------------------
QUANTI=100 # Poche giocate
STAMPA=True # Traccia degli eventi
contatore=0
for g in range(QUANTI):
contatore+=gioco(STAMPA)
bilancio=contatore/QUANTI*100
#-------------------------------------------------------------
print()
print("Bilancio dopo %i giocate = %.2f %%" %(QUANTI,bilancio))
Per avere risultati significativi
...
QUANTI=10000 # MOLTE giocate
STAMPA=False # Senza traccia degli eventi
...
Osserva l’andamento del bilancio finale all’aumentare del numero di giocate…



import matplotlib.pyplot as plt
import random
...
QUANTI=100 # 1000 | 10000
STAMPA=False
contatore=0
CONTATORE=[] # traccia stato
for g in range(QUANTI):
contatore+=gioco(STAMPA)
CONTATORE.append(contatore) # aggiunge stato attuale
...
plt.grid(which="major")
plt.plot(CONTATORE)
plt.title("Craps")
plt.show()