After the lab, you should know how to
Create a directory called lab2
in your
labs
directory. Your programs and the output for this
lab will all be saved in the lab2
directory.
We'll practice writing several Python programs, each in their own text file. Name the files lab2.1.py through lab2.8.py.
Your programs will be graded on correctness, 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, restart IDLE or close and 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 lab2.x.out, where x is the problem number.
Write a program that takes the number of greatest hits and the size of the cds (in terms of the number of tracks) and determines how many cds are needed and how many tracks will have to wait for the next Greatest Hits album.
This program determines the number of CDs in a Greatest Hits album. How many greatest hits/tracks do you have? 24 How many tracks fit on a cd? 10 Your album requires 2 cds 4 tracks will have to wait for the next Greatest Hits album.
Note: you may have some grammar issues in your output. We don't know how to fix that yet.
Atom | Weight (g/mol) |
---|---|
H | 1.0079 |
C | 12.011 |
O | 15.9994 |
You program should prompt the user for the number of atoms of each type and display the total weight with the appropriate units.
Note that your program should use constants for the molecular weights of carbon, hydrogen, and oxygen. (Recall what the conventions are for naming constants. Why does it make sense to make these values constants?)
Finally, modify your program so that it rounds the molecular weight to 3 decimal places (using a built-in function) and displays that number.
A sample run is shown below:
Enter number of Hydrogen atoms: 3 Enter number of Carbon atoms: 2 Enter number of Oxygen atoms: 1 Weight of molecule is 43.045 g/mol
lab1.6.py
that converted temperatures from Fahrenheit to Celcius. Modify the
program so that it only displays temperatures to two decimal
places.Note that 1 m = .001 km = 1.094 yds = .0006215 mi
Do not try to use a for
loop for this problem. (It's not straightforward. After you solve the problem, you can attempt a for loop.
That's good programming.)
Calculate and display the results, formatted in the following manner:
Meters Kilometers Yards Miles -------------------------------------- 100 0.100 109.4 0.062 200 ----- ----- ----- 400 ----- ----- ----- 800 ----- ----- -----
Note: Make sure your output looks exactly as above, but you will have all the converted values filled in.
pi
defined in the math
module.
Select a "reasonable" number of digits for precision in the result you
display to the user.
for
loop to show the results of i
% j, where i = 4 and j increases from 1 to 8. Example output (without
the appropriate values filled in):
4 % 1 = ? 4 % 2 = ? ...
for
loop, draw a diagonal line that looks
like:
\ \ \ \ \
Think about the pattern of what is getting printed. (Hint: a string operator may be useful.)
After you have that working, have the user enter the size of the diagonal line and draw a line of the appropriate size.
turnin
directory.
(Review the UNIX handout if you don't
remember how to do that.)
printLab.sh
command:
printLab.sh <labdirname>
Again, you should probably print from the labs
directory.
View your file using the gv
command.
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.
Ask well before the deadline if you need help turning in your assignment!