from random import *
def dieRoll():
return randrange(6)+1
def playOnePieceGame():
"""Find the number of turns to bear off a piece when it starts from the first space"""
space = 0
turns = 0
while space < 24:
space += dieRoll()
# Don't use the negative die if we've already got to the end
if space < 24:
space -= dieRoll()
# Assume we don't move further back than the first space
#(The rules aren't exactly well defined for this case)
if space < 0:
space = 0
turns += 1
return turns
numberOfGames = 1000
totalTurns = 0
minTurns = float('inf')
maxTurns = 0
for i in range(numberOfGames):
turns = playOnePieceGame()
totalTurns += turns
minTurns = min(minTurns, turns)
maxTurns = max(maxTurns, turns)
print 'The average number of turns in %d games was %d (min = %d, max = %d)'%(numberOfGames, totalTurns / numberOfGames, minTurns, maxTurns)
ZnJvbSByYW5kb20gaW1wb3J0ICoKCmRlZiBkaWVSb2xsKCk6CglyZXR1cm4gcmFuZHJhbmdlKDYpKzEKCmRlZiBwbGF5T25lUGllY2VHYW1lKCk6CgkiIiJGaW5kIHRoZSBudW1iZXIgb2YgdHVybnMgdG8gYmVhciBvZmYgYSBwaWVjZSB3aGVuIGl0IHN0YXJ0cyBmcm9tIHRoZSBmaXJzdCBzcGFjZSIiIgoJc3BhY2UgPSAwCgl0dXJucyA9IDAKCXdoaWxlIHNwYWNlIDwgMjQ6CgkJc3BhY2UgKz0gZGllUm9sbCgpCgkJIyBEb24ndCB1c2UgdGhlIG5lZ2F0aXZlIGRpZSBpZiB3ZSd2ZSBhbHJlYWR5IGdvdCB0byB0aGUgZW5kCgkJaWYgc3BhY2UgPCAyNDoKCQkJc3BhY2UgLT0gZGllUm9sbCgpCgkJCSMgQXNzdW1lIHdlIGRvbid0IG1vdmUgZnVydGhlciBiYWNrIHRoYW4gdGhlIGZpcnN0IHNwYWNlCgkJCSMoVGhlIHJ1bGVzIGFyZW4ndCBleGFjdGx5IHdlbGwgZGVmaW5lZCBmb3IgdGhpcyBjYXNlKQoJCQlpZiBzcGFjZSA8IDA6CgkJCQlzcGFjZSA9IDAKCQl0dXJucyArPSAxCglyZXR1cm4gdHVybnMKCm51bWJlck9mR2FtZXMgPSAxMDAwCnRvdGFsVHVybnMgPSAwCm1pblR1cm5zID0gZmxvYXQoJ2luZicpCm1heFR1cm5zID0gMApmb3IgaSBpbiByYW5nZShudW1iZXJPZkdhbWVzKToKCXR1cm5zID0gcGxheU9uZVBpZWNlR2FtZSgpCgl0b3RhbFR1cm5zICs9IHR1cm5zCgltaW5UdXJucyA9IG1pbihtaW5UdXJucywgdHVybnMpCgltYXhUdXJucyA9IG1heChtYXhUdXJucywgdHVybnMpCgpwcmludCAnVGhlIGF2ZXJhZ2UgbnVtYmVyIG9mIHR1cm5zIGluICVkIGdhbWVzIHdhcyAlZCAobWluID0gJWQsIG1heCA9ICVkKSclKG51bWJlck9mR2FtZXMsIHRvdGFsVHVybnMgLyBudW1iZXJPZkdhbWVzLCBtaW5UdXJucywgbWF4VHVybnMp