Chapter 2 Activity Instructions

Chapter Two: Working with Data

Activity: Cash Register


In this chapter, you learned about data types and variables that hold stringinteger and floating-point values. You also learned how to glue strings together with concatenation and perform simple numeric addition, subtraction, multiplication and division. For this project, you are going to put all those skills to use with a simple Cash Registerprogram.

Reminder - Your Coding Platform

In the first chapter activity, you learned how to use our online Python engine to submit projects for grading. Or, you may have followed other instructions to code and test Python programs on your own computer and submit them to your teacher separately. Please review the first chapter activity instructions and your choice of a coding platform, if needed, for details on how to complete and submit this project. Your project might be auto-graded by our system, or it may be graded by your teacher.

Background - Calculating A Bill of Sale

When you go to the store and purchase some items, the total amount of your purchase is calculated at the cash register when you check out. Do you know exactly how your total payment is calculated? There are three basic pieces of information that you need to know:

  • How many items are you purchasing?
  • What is the cost of each item?
  • What is the tax rate?

Let's assume that you only buy one kind of item, like a shirt, and the cost for each shirt is the same. As you might guess, these pieces of information can be stored in Python variables. An integer variable will nicely hold the number of items you want to buy, and a floating-point variable will store the price per item.

numItems = 3
costPerItem = 12.50

Now, your sub-total is the price you are going to pay before taxes are added. The sub-total is calculated by multiplying together the number of items and the cost per item.

subTotal = numItems * costPerItem

Great, now the last step is to calculate and add tax to the sub-total. A tax rate is expressed as a percentage like 6% or a decimal like 0.06.

taxRate = 0.06

The tax rate is multiplied by the sub-total and that extra tax amount is then added to the sub-total to find your total sales price.

taxAmount = subTotal * taxRate
totalPrice = subTotal + taxAmount

Now that you understand the math behind a sale, it's time to demonstrate your skills with a cash register program!

Activity Requirements

In this activity, you are going to create a Python program that will calculate and print a sales receipt from a cash register. Your receipt will show the number of items purchased, the cost per item, the sub-total, the tax rate, the tax amount and the total sales price.

Create your Python program by completing the following steps:

  1. Start your Python code with a comment at the top showing your name
  2. Declare and initialize Python variables as follows:
    • numItems should hold the value 4
    • costPerItem should hold the value $10.00
    • taxRate should hold the value 0.08
  3. Next, add a statement to calculate and store the sub-total in a variable named subTotal
  4. Next, add a statement to calculate the amount of tax and store the result in a variable called taxAmount
  5. Then, add a statement to calculate the total price and store the amount in a variable called totalPrice

Great, you are now done with the math and need to show the full receipt to the screen. We want the receipt to be formatted as follows:

Number of items : 4
Cost per item   : $10.0
Tax rate        : 0.08
Tax amount      : $3.2

Remember that you can concatenate (join) together strings and numbers by using the plus sign (+) and the str() function to convert a number to a string. So, for example, you could print() the second output line with this statement:

print("Number of items : " + str(numItems))


  1. Add 6 print() statements to display the 6 lines in this receipt. You want to match the output lines demonstrated above.
    • Remember to use the str() function when needed to convert numbers to strings.
    • Remember to add the currency symbol (like $) to the front of numbers that are dollar amounts.

Activity Results

When you are done, run your code and verify that your cash receipt is printed to the screen. Are all the calculated amounts correct? Then, change each of the first three numeric variables (numItemscostPerItem and taxRate) and re-run your program. You should see each output line changes to reflect the new data and calculated amounts.

Here are two more example outputs that use some different initial values in the first three numeric variables.

Number of items : 5
Cost per item   : $5.5
Tax rate        : 0.06
Tax amount      : $1.65
Number of items : 100
Cost per item   : $3.75
Tax rate        : 0.09
Tax amount      : $33.75


Activity Rubric

If your project is being automatically graded by our system, your grade will be calculated from 0 to 100 as follows:

10Add comment with name as first line of code
10Declare and use numItems variable
10Declare and use costPerItem variable
10Declare and use taxRate variable
10Declare and use subTotal variable
10Declare and use taxAmount variable
10Declare and use totalPrice variable
10Use addition where needed to calculate results
10Use multiplication where needed to calculate results
10Program produces the correct output


Remember to use the exact variable names described in the activity instructions and format your output exactly as shown above. Case-sensitivity is important! 


End of Activity

Last modified: Wednesday, 8 May 2019, 8:02 AM