×

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 7.1

Display the binary cards needed to represent a decimal number between 0 and 31

Challenge Level: Ready to expand

Requirement:

Write a program that asks the user to enter a decimal number between 0 and 31 as the input and displays the 5 binary cards representing that number (B for displaying black cards with no dots, and W for displaying white cards with dots) as the output.

Hints
  • Make variables called:

    • original and set its value to the input number given by the end user.
    • number and set its value to original (this is so that you can display the original number later)
    • bit_value and set its value to 32.
    • cards is a variable and stores the binary cards needed (‘B’ for black cards and ‘W’ for white cards).
  • Now divide bit_value by 2 and check if number is greater than or equal to bit_value. If it is, add ‘W’ to string cards and subtract bit_value from number. If not, add ‘B’ to string variable cards. Repeat until bit_value is equal to 1, using a while loop while bit_value > 1 Display the value of cards as the output.

  • Test your program with some values on the boundaries (for example test it with numbers 0 and 31).

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
11
The binary representation for the number 11 is BWBWW

                
Not yet run ?
31
The binary representation for the number 31 is WWWWW

                
Not yet run ?
0
The binary representation for the number 0 is BBBBB

                
Not yet run ?