Beginners Query - Simple counter problem
carsten at uniqsys.com
Thu Sep 6 20:44:34 CEST 2007
On Thu, 2007-09-06 at 11:24 -0700, Ian Clark wrote:
> Carsten Haese wrote:
> > def d6(count):
> > return sum(random.randint(1, 6) for die in range(count))
> My stab at it:
> >>> def roll(times=1, sides=6):
> ... return random.randint(times, times*sides)
That produces an entirely different probability distribution if times>1.
Consider times=2, sides=6. Your example will produce every number
between 2 and 12 uniformly with the same probability, 1 in 11. When
rolling two six-sided dice, the results are not evenly distributed. E.g.
the probability of getting a 2 is only 1 in 36, but the probability of
getting a 7 is 1 in 6.
More information about the Python-list