This lab assignment requires you to write three programs in Python. First, run update21. This will create the cs21/labs/02 directory and copy over any starting-point files for your programs. Next, move into your cs21/labs/02 directory and begin working on the Python programs for this lab. The pwd command helps you verify that you are in the correct sub-directory.
$ update21 $ cd cs21/labs/02 $ pwd /home/your_user_name/cs21/labs/02We will only grade files submitted by handin21 in this directory, so make sure your programs are in this directory!
As you write your first programs, start using good programming practices now:
Write a program that computes the average cost per pound of a set of items. Your program should first prompt the user for the number of unique items purchased. For example, if the user purchased beets, bananas, and berries, the user should enter 3. Next, prompt the user for the number of pounds of each item purchased and the price per pound. Your program should then compute the total cost of the purchase and the average price per pound. Your program should use print formatting to show the values with two decimal places. Here are some sample runs showing how your program should work:
$ python produce.py Enter number of unique items: 1 Enter item weight in pounds: 2 Enter cost per pound: 0.75 Total cost is $1.50 Average cost per pound is $0.75
$ python produce.py Enter number of unique items: 3 Enter item weight in pounds: 1 Enter cost per pound: 3.50 Enter item weight in pounds: 2 Enter cost per pound: 0.80 Enter item weight in pounds: 3 Enter cost per pound: 1.00 Total cost is $8.10 Average cost per pound is $1.35
Write a program that asks the user to enter a text phrase and converts the characters to a step pattern. Your program should ask the user for the width, in number of characters, for each step. The last step may have fewer than width characters if the width does not divide the length of the phrase evenly. You may wish to handle the last step separately from the rest. Here's how the program should work:
$ python textstairs.py Enter phrase: The.boats.on.the.bayou.float.right.by.you Enter stair width: 5 The.b oats. on.th e.bay ou.fl oat.r ight. by.yo u
$ python textstairs.py Enter phrase: Pawnee Parks and Recreation Enter stair width: 3 Paw nee Pa rks an d R ecr eat ion
Below are some sample runs showing how your program should work.
$ python snowflake.py Enter size of snowflake: 3 * * * * * * *** ******* *** * * * * * *
$ python snowflake.py Enter size of snowflake: 7 * * * * * * * * * * * * * * * * * * *** *************** *** * * * * * * * * * * * * * * * * * *The snowflakes look a little compact for small values of size.
$ python snowflake.py Enter size of snowflake: 0 *
$ python snowflake.py Enter size of snowflake: 1 *** *** ***
$ python snowflake.py Enter size of snowflake: 2 * * * *** ***** *** * * *A snowflake of size $n$ should have $n$ rows above the center row and $n$ rows below the center row. The top and bottom halves of the snowflake should each have three branches. Hint: Use separate for loops for the top and bottom halves and print the middle row outside the loops.
Remember you may run handin21 as many times as you like. Each time you run it new versions of your files will be submitted. Running handin21 after you finish a program, after any major changes are made, and at the end of the day (before you log out) is a good habit to get into.