×

Challenges

Challenge 5.1

# Display the binary cards needed to represent a given number of dots

Challenge Level: Growing experience

## Requirement:

Write a program that asks the user to enter a number of dots less than or equal to 31 as the input and displays which of the 5 cards should be showing as the output (one at a time).

Hints
• Make a variable called number_of_dots and set its value to the input entered by the end user. Below is the algorithm to help you program this:
If number_of_dots less than or equal to 31
If number_of_dots greater than or equal to 16
Subtract 16 from number_of_dots and display 16
If number_of_dots greater than or equal to 8
Subtract 8 from number_of_dots and display 8
If number_of_dots greater than or equal to 4
Subtract 4 from number_of_dots and display 4
If number_of_dots greater than or equal to 2
Subtract 2 from number_of_dots and display 2
If number_of_dots greater than or equal to 1
Subtract 1 from number_of_dots and display 1
else
Ask the end user to enter a number less than or equal to 31
• An if statement checks if the statement is true and if it is executes the lines inside In this challenge you need to use if statements to check if the number_of_dots is greater than or equal to 16 (use '>=') If it is, display card "16" and subtract 16 from your number and do the same with the rest of the cards.
• You can use 'else' to do something if the statement is false
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
8
2
1

Not yet run ?
1
1

Not yet run ?
8
8

Not yet run ?
31
16
8
4
2
1

Not yet run ?
32
Please choose a number less than or equal to 31.

Not yet run ?