[~]$ cs21/inclass/w06-functions/ [w06-functions]$ vim biggest_circle.pyWe'll start today by practicing writing functions some more. In biggest_circle.py we want to write a function findBiggest that finds the biggest circle. After calling this function, we want to set the fill of the biggest circle to red.
Look at the line in main bigCirc = findBiggest(allcircs). Does findBiggest take any input? If so, what is the type of this input? Should findBiggest return a value? If so, what is the type of this return?
Let's write a function stub that has the matching inputs and return values for findBiggest
Now let's write a working version of findBiggest. How do we compare circle sizes? How do we extract this info from one circle object? How do we compare against all circles? How do we remember the biggest circle? How do we know when we are done? How do we know we are correct?
[w07-design]$ ls colors.txt fileDemo.py showContents.py [w07-design]$Open fileDemo.py in vim. In a separate window, change to the w07-design directory so you can run the program using python fileDemo.py.
Think about the answers to the following questions. Feel free to modify the program or use the python shell to help you answer these questions.
Using argv
Let's demonstrate this idea with the dice game Craps.
A player rolls a pair of six-sided dice.
If the initial roll is 2, 3, or 12, the player loses.
If the initial roll is 7 or 11, the player wins.
Any other initial roll causes the player to "roll for point". This means that the player keeps rolling either until she re-rolls the initial value (a win) or rolls a 7 (a loss).
Let's write a program to simulate multiple games of craps and estimate the probability that the player wins.
Specification
Input: Number of games to simulate
Output: Probability of winning