Intro to
Programming
with Python

Fall 2010
course
navigation

oct 14

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 I've attached the one we did today, which is very similar.
http://cs.marlboro.edu/ courses/ fall2010/python/ notes/ oct_14
last modified Thursday October 14 2010 2:07 pm EDT

attachments [paper clip]

     name last modified size
   craps_2008.py Oct 13 2010 10:44 pm 2.58kB    craps_2010.py Oct 14 2010 2:07 pm 2.48kB