×

Challenges

  1. Not started

  2. Not started

  3. Not started

  4. Not started

  5. Not started

  6. Not started

  7. Not started

  8. Not started

  9. Not started

  10. Not started

  11. Not started

  12. Not started

  13. Not started

  14. Not started

  15. Not started

  16. Not started

  17. Not started

  18. Not started

  19. Not started

  20. Not started

  21. Not started

Challenge 8.2

Binary representation of any decimal number by playing musical notes

Challenge Level: Ready to expand

Requirement:

Write a program that asks the user to enter any decimal number as the input and plays the musical notes representing that number in binary (high notes for dots showing and low notes for dots not showing).

Hints
  • Make variables called:

    • decimal_number and set its value to the input number given by the end user.
    • bit_value and set its value to 1. Find the smallest bit value which is larger than decimal_number by doubling value of bit_value until it is bigger than the decimal_number (by using a while loop while bit_value is less than or equal to decimal_number).
  • Set the variable bit_value to 1 and find the smallest bit_value which is larger than decimal_number by multiplying bit_value by 2 until it is larger than decimal number. You can do this by using a while loop.

  • Now divide the bit_value by 2 and check if decimal_number is greater than or equal to bit_value. If it is, print "high" for a high note and subtract bit_value from decimal_number. If not, print "low" for a low note. Repeat until bit_value is equal to 1 (by using a while loop while bit_value is greater than 1)

Programming Reminders
# Print a string directly
print("Hello World!")

# Print a variable
print(my_var)

Variables

# Set a variable as a string
fruit_name = "Apple"

# Set a variable as an integer 
pieces_of_fruit = 7

# Set a variable from a calculation
cost_of_fruit = pieces_of_fruit * cost_per_item

# Add one to a value
pieces_of_fruit += 1

Conditionals

# Find out the discount on fruit
if pieces_of_fruit > 100:
   print("Bulk discount applies")
elif pieces_of_fruit > 5:
   print("Discount applies")
else:
   print("No discount")

For loops

# Print numbers 0-9 - remember Python starts counting from 0 
for num in range(10):
    print(num)

While loops

# Print numbers 0-9 using a while loop and a variable
num = 0
while num < 10:
    print(num)

    # Increment the variable by one.
    # It will prevent an infinite loop!
    num += 1 

Lists

# Create a list of fruit 
fruit = ["Apple", "Banana", "Orange", "Pear"]

Functions

# Create a function which prints a greeting
def greeting(name):
    print("Hello " + name)

# Call the function
greeting("Spiderman")

Enter your code in the editor below

Your results will be displayed here

Input Expected output Received output Status
255
high
high
high
high
high
high
high
high

                
Not yet run ?
100
high
high
low
low
high
low
low

                
Not yet run ?
1
high

                
Not yet run ?