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 ...
matplotlib
Osserva il 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()