📖 Scenario: You are helping a small bakery keep track of daily sales and decide if they met their sales goal.
🎯 Goal: Build a simple Python program that uses indentation and blocks correctly to check if the bakery met its sales goal and print a message.
📋 What You'll Learn
Create a variable with the total sales amount.
Create a variable with the sales goal amount.
Use an if-else block with correct indentation to compare sales and goal.
Print a message depending on whether the goal was met or not.
💡 Why This Matters
🌍 Real World
Businesses often use simple programs like this to check if they met daily targets and decide next steps.
💼 Career
Understanding Python block structure and indentation is essential for writing clear, error-free code in any programming job.
Progress0 / 4 steps
1
Create the sales data variable
Create a variable called total_sales and set it to 1200 to represent the bakery's total sales for the day.
Python
Hint
Use the equals sign = to assign the value 1200 to the variable total_sales.
2
Set the sales goal
Create a variable called sales_goal and set it to 1000 to represent the bakery's sales target for the day.
Python
Hint
Remember to use a new line and assign 1000 to sales_goal.
3
Write the if-else block to check sales
Write an if statement to check if total_sales is greater than or equal to sales_goal. Use a colon : and indent the next line. Inside the if block, write message = "Goal met! Great job!". Then write an else block with the same indentation as if, and inside it write message = "Goal not met. Keep trying!" indented properly.
Python
Hint
Remember to indent the lines inside the if and else blocks by 4 spaces.
4
Print the result message
Write a print statement to display the value of the message variable.
Python
Hint
Use print(message) to show the message on the screen.
Practice
(1/5)
1. What does indentation in Python indicate?
easy
A. Which lines of code belong together in a block
B. The data type of a variable
C. The speed of code execution
D. The name of a function
Solution
Step 1: Understand Python's use of indentation
Python uses indentation to group lines of code that belong to the same block, like inside a function or loop.
Step 2: Identify what indentation shows
Indentation shows which lines are connected logically and executed together.
Final Answer:
Which lines of code belong together in a block -> Option A
Quick Check:
Indentation = Code blocks [OK]
Hint: Indentation groups code lines into blocks [OK]
Common Mistakes:
Thinking indentation shows variable types
Confusing indentation with execution speed
Assuming indentation names functions
2. Which of the following code snippets has correct indentation in Python?
easy
A.
def greet():
print('Hello')
print('World')
B.
def greet():
print('Hello')
print('World')
C.
def greet():
print('Hello')
print('World')
D.
def greet():
print('Hello')
print('World')
Solution
Step 1: Check indentation inside the function
All lines inside the function must be indented the same amount to belong to the function block.
Step 2: Identify the snippet with consistent indentation
def greet():
print('Hello')
print('World')
has both print statements indented equally under the function, which is correct.
Final Answer:
def greet():\n print('Hello')\n print('World') -> Option D
Quick Check:
Consistent indentation inside function = Correct [OK]
Hint: Indent all block lines equally under the header [OK]
Common Mistakes:
Mixing indentation levels inside a block
Not indenting any lines inside a function
Indenting only some lines inconsistently
3. What will be the output of this code?
for i in range(2):
print('Start')
if i == 0:
print('First loop')
print('End')
medium
A. Start\nFirst loop\nEnd\nStart\nEnd
B. Start\nEnd\nStart\nFirst loop\nEnd
C. Start\nFirst loop\nEnd\nStart\nFirst loop\nEnd
D. Start\nEnd\nStart\nEnd
Solution
Step 1: Trace the loop iterations
The loop runs twice: i=0 and i=1.
Step 2: Check prints for each iteration
For i=0: prints 'Start', then 'First loop' (because i==0), then 'End'. For i=1: prints 'Start' and 'End' only.
Final Answer:
Start\nFirst loop\nEnd\nStart\nEnd -> Option A
Quick Check:
Loop with condition prints extra line only once [OK]
Hint: Follow indentation to see which prints run inside conditions [OK]
Common Mistakes:
Ignoring indentation and printing 'First loop' twice
Mixing order of printed lines
Assuming all prints run every iteration
4. Identify the error in this code:
if True:
print('Yes')
print('Still Yes')
medium
A. SyntaxError because of missing colon
B. IndentationError due to inconsistent indentation
C. No error, code runs fine
D. NameError due to undefined variable
Solution
Step 1: Check indentation after if statement
Lines inside the if block must be indented equally.
Step 2: Identify inconsistent indentation
The first print is not indented, the second print is indented. This causes an IndentationError.
Final Answer:
IndentationError due to inconsistent indentation -> Option B
Quick Check:
Inconsistent indentation = IndentationError [OK]
Hint: All lines in a block must have same indentation [OK]
Common Mistakes:
Thinking missing colon causes error here
Assuming code runs without indentation
Confusing IndentationError with NameError
5. You want to write a function that prints numbers 1 to 3, each followed by 'Done' on a new line. Which code correctly uses indentation to achieve this?
def print_numbers():
for i in range(1, 4):
print(i)
print('Done')
hard
A.
def print_numbers():
for i in range(1, 4):
print(i)
print('Done')
B.
def print_numbers():
for i in range(1, 4):
print(i)
print('Done')
C.
def print_numbers():
for i in range(1, 4):
print(i)
print('Done')
D.
def print_numbers():
for i in range(1, 4):
print(i)
print('Done')
Solution
Step 1: Understand desired output
Each number 1 to 3 should print, then 'Done' on a new line after each number.
Step 2: Check indentation for print statements
To print 'Done' after each number, both print(i) and print('Done') must be inside the for loop, indented equally.
Step 3: Identify correct option
def print_numbers():
for i in range(1, 4):
print(i)
print('Done')
has both prints indented inside the loop, so 'Done' prints after each number.
Final Answer:
def print_numbers():\n for i in range(1, 4):\n print(i)\n print('Done') -> Option C
Quick Check:
Same indentation inside loop = prints per iteration [OK]
Hint: Indent all loop actions equally to repeat each time [OK]
Common Mistakes:
Indenting 'Done' outside loop causing single print
Not indenting loop body at all
Mixing indentation levels inside loop
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.