import sys import random def read_results(filename): stream = open(filename) lineList = [(ln+1, line.strip()) for (ln, line) in enumerate(stream) if line.strip()] stream.close() result = [] for ln, line in lineList: scoreA, scoreB = map(int, line.split('-')) result.append((scoreA, scoreB)) return result def games_played(): nPlayed = 0 winA = 0 winB = 0 while (winA < 4 and winB < 4): if random.random() < 0.5: winA += 1 else: winB += 1 nPlayed += 1 return nPlayed if __name__ == '__main__': filename = sys.argv[1] nBootstrap = int(sys.argv[2]) nSeven = 0 nSeries = 0 for (scoreA, scoreB) in read_results(filename): if scoreA + scoreB == 7: nSeven += 1 nSeries += 1 print >> sys.stderr, '%i of %i series actually went to seven games.' % \ (nSeven, nSeries) null = [] for instance in range(nBootstrap): nSevenBootstrap = 0 for series in range(nSeries): if games_played() == 7: nSevenBootstrap += 1 null.append(nSevenBootstrap) print '\n'.join(map(str, null))