In [2]:
import numpy as np
from numpy.random import randint
In [3]:
class GameOfDice:
def __init__(self, nsides=6, nthrows=1, ntrials=1000, conditions=None):
self._nsides = nsides
self._nthrows = nthrows
self._ntrials = ntrials
self._conditions = conditions
def play(self):
result = np.zeros(self._ntrials)
for i in range(self._ntrials):
t = randint(1, self._nsides+1, size=self._nthrows)
for cond in self._conditions:
if eval(cond):
result[i] = 1
return result
In [27]:
g = GameOfDice(nsides=6,
nthrows=3,
ntrials = 1000000,
conditions=["sum(t) == 11"])
result = g.play()
print np.mean(result)
In [ ]: