After the lab, you should be proficient at
for
loops and
conditionalsexit
function available in the sys
modulegraphics.py
in /home/courses/cs111/handouts/lab4/
into
your lab4
directory.We'll practice writing several Python programs, each in their own text file. Name the files lab4.1.py through lab4.6.py.
Your programs will be graded on correctness, efficiency, style, and how well you tested them. Make sure you adhere to the good development and testing practices we discussed in class. Your code should be readable and your output should be useful and well-formatted.
After you've developed a correct solution to each program, close reopen the IDLE "shell" by running the program again (using F5), demonstrate that the program works using several good test cases, and save the output to a file named lab4.x.out, where x is the problem number.
Example output:
x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ----------------------------------------------------------------------------------- 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 2 | 0 | 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 | 20 | 22 | 24 | ... 12 | 0 | 12 | 24 | 36 | 48 | 60 | 72 | 84 | 96 | 108 | 120 | 132 | 144 |
while
loop that stops
when the user enters a number that is evenly divisible by 6 (that is,
there is no remainder). Print helpful output to the user.
The Rules
The player keeps rolling until one of two things happen. Either the player makes the point and wins, or the player rolls a 7 and loses (craps out). Any number other than the point or 7 is of no consequence.
After the first roll, print a message that tells the player that they either won, lost, or which "point" they have to play for.
Example runs:
*** This program simulates Craps (without the betting) *** You rolled a 11 Congratulations! You win!
*** This program simulates Craps (without the betting) *** You rolled a 6 The POINT is 6 Roll again! You rolled 4 Roll again! You rolled 6 Congratulations! You win!
*** This program simulates Craps (without the betting) *** You rolled a 10 The POINT is 10 Roll again! You rolled 4 Roll again! You rolled 9 Roll again! You rolled 7 Sorry! You crapped out. Luckily, money wasn't involved.
graphics
module, draw a yellow
circle with radius 30 and a red square of width 50 in a window
that is 400x200 with the name "Practice". Position the circle in
the upper-left quadrant of the canvas and the square in the
lower-right quadrant. There will be no IDLE output for this
program.
graphics
module, draw the beginning
of a snow-person. Create a canvas with the title "Snow Person".
Draw a white circle of radius 50. Clone the circle and
move the cloned circle above the first circle (so that the circle
appears to be sitting on top of the original circle). Repeat with
a third cloned circle. Draw two black, filled-in circles for eyes
in the top circle. Note that you should draw one eye,
then clone
the eye and move it to the appropriate
place. There will be no IDLE output for this
program.Simulate a game of Rainbow Dice, a Sprenkle family tradition. Note that Rainbow Dice is much simpler to implement than the Craps game. Demonstrate your program with a goal of 3, so that you don't print out too much output.
turnin
directory.labs/lab4
directory; otherwise, the print out will
be long and screwed up. You can move those files back into
your lab4
directory after you've printed. In other
words, you should only have the .py files you wrote and the .out files
you created in your directory when you print.printLab.sh
command.View the file you just created using the gv
command to
ensure that you don't have any "junk" in the output.
Again, you should probably print from the labs
directory.
Print the file using the lpr
command introduced in the
first lab.
Labs are due at the beginning of Friday's class. You should hand
in the printed copy at the beginning of class, and the electronic
version should be in the turnin
directory before 1:20
p.m. on Friday.