Hackety Hacking Problem BPM Converter

From OLPC
Revision as of 01:10, 30 September 2007 by Driscoll (talk | contribs) (New page: == Problem Statement == Your DJ friend has an enormous collection of vinyl records. She knows the Beats per minute (BPM) of all the records at 45rpm but wants to know how these BPMs will...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Problem Statement

Your DJ friend has an enormous collection of vinyl records. She knows the Beats per minute (BPM) of all the records at 45rpm but wants to know how these BPMs will change if she plays the records at 33rpm. She's figured out that the proportion of 45/33 is important but isn't sure how this will affect the BPMs. Can you write a program for this DJ so that she can easily figure out what the BPMs of her 45rpm records will be when she plays them at 33rpm?

Sample Output

Please enter the BPM at 45rpm and press ENTER: 120
The BPM for this record at 33rpm will be approximately 88.0bpm.

Curriculum Connections

To solve this problem, students will:

  • Take input from a user
  • Store input in a variable
  • Perform floating-point division
  • Output data to the user
  • Demonstrate an understanding of proportions

Solution

# First, we ask the user for the bpm of the record on its normal speed
# and store this answer into a variable called bpm
bpm = input("Please enter the BPM at 45rpm and press ENTER: ")

# Next, we convert this bpm to the slower speed and store this answer in 
# a variable called slowbpm
slowbpm = bpm * (33.0 / 45.0)

# Finally, we print a friendly message to the user with the answer.
print("The BPM for this record at 33rpm will be approximately ", slowbpm, "bpm.")