Intro to
Programming
with Python

Fall 2011
course
navigation

oct 13

Chapter 9 : "simulation and design"
Discusses "top-down", "bottom-up", and "spiral" (which is a bit of both) program design techniques.
The text does this with a racquetball simulation.
I'd like to do something similar as a class exercise, but with a problem that I like a bit better: craps.
As the book describes, we'll use a random number function to implement the dice : def d6(): """Return a random integer from 1 to 6 inclusive.""" from random import randrange return randrange(1,7)
(Before going on, test this manually. Can the test be automated?)
The program I have in mind looks like this when it runs :
$ python craps.py --- Estimated odds of winning at craps --- How many games would you like to simulate? 100 Simulating 100 games ... done. Number of simulated wins: 38 Estimated odds of winning: 0.381 --- Estimated error --- How many times would you like to repeat that series of 100 games? 10 Simulating 10 sets of 100 games ... done. Lowest estimated odds : 0.363 Highest estimated odds: 0.387 Error range = (high-low) = 0.024
And what I'd like us to investigate are several things, besides just the programming itself:
The rules of craps are described here: http://en.wikipedia.org/wiki/Craps
I've attached a copy of this program from a previous iteration of this class.
And the one we did in class - though we didn't finish/test the statistics - is also attached.
http://cs.marlboro.edu/ courses/ fall2011/python/ notes/ oct_13
last modified Thursday October 13 2011 10:59 am EDT

attachments [paper clip]

     name last modified size
   craps_2010.py Oct 12 2011 11:24 pm 2.48kB    craps_2011.py Oct 13 2011 10:58 am 2.59kB