Bird
Raised Fist0
Pythonprogramming~15 mins

Nested for loop execution in Python - Mini Project: Build & Apply

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Nested for loop execution
📖 Scenario: You are organizing a small event and want to create a seating chart. You have a list of tables and a list of guests. You want to pair each guest with each table to see all possible seating options.
🎯 Goal: Build a program that uses nested for loops to print every combination of tables and guests.
📋 What You'll Learn
Create a list called tables with the values 'Table 1', 'Table 2', and 'Table 3'
Create a list called guests with the values 'Alice', 'Bob', and 'Charlie'
Use a nested for loop with variables table and guest to iterate over tables and guests
Print each combination in the format: Guest Alice sits at Table 1
💡 Why This Matters
🌍 Real World
Event planners often need to consider all seating options to organize guests efficiently.
💼 Career
Understanding nested loops is essential for tasks like scheduling, pairing data, and generating combinations in programming jobs.
Progress0 / 4 steps
1
Create the tables list
Create a list called tables with these exact values: 'Table 1', 'Table 2', and 'Table 3'
Python
Hint

Use square brackets [] to create a list and separate items with commas.

2
Create the guests list
Create a list called guests with these exact values: 'Alice', 'Bob', and 'Charlie'
Python
Hint

Use the same list syntax as before to create the guests list.

3
Write the nested for loops
Use nested for loops with variables table and guest to iterate over tables and guests respectively
Python
Hint

Write one for loop inside another. The inner loop goes through guests.

4
Print each seating combination
Inside the nested loops, write a print statement to display: Guest {guest} sits at {table} using an f-string
Python
Hint

Use print(f"Guest {guest} sits at {table}") inside the inner loop.

Practice

(1/5)
1. What does a nested for loop do in Python?
for i in range(2):
for j in range(3):
print(i, j)
easy
A. Runs the inner loop fully for each outer loop step
B. Runs both loops only once
C. Runs the outer loop fully for each inner loop step
D. Runs only the outer loop

Solution

  1. Step 1: Understand nested loop structure

    The outer loop runs 2 times (i=0,1). For each i, the inner loop runs 3 times (j=0,1,2).
  2. Step 2: Observe loop execution order

    For each i, the inner loop completes all its iterations before the outer loop moves to next i.
  3. Final Answer:

    Runs the inner loop fully for each outer loop step -> Option A
  4. Quick Check:

    Inner loop runs fully per outer loop [OK]
Hint: Inner loop runs completely inside each outer loop step [OK]
Common Mistakes:
  • Thinking outer loop runs inside inner loop
  • Assuming loops run only once
  • Confusing loop order
2. Which of the following is the correct syntax for a nested for loop in Python?
easy
A. for i in range(3): for j in range(2): print(i, j)
B. for i in range(3): for j in range(2): print(i, j)
C. for i in range(3): for j in range(2): print(i, j)
D. for i in range(3): for j in range(2): print(i, j)

Solution

  1. Step 1: Check indentation rules

    Python requires consistent indentation to define nested blocks. Inner loop must be indented inside outer loop.
  2. Step 2: Identify correct indentation

    for i in range(3): for j in range(2): print(i, j) uses 4 spaces indentation for inner loop and print statement, which is correct.
  3. Final Answer:

    for i in range(3):\n for j in range(2):\n print(i, j) -> Option B
  4. Quick Check:

    Proper indentation = for i in range(3): for j in range(2): print(i, j) [OK]
Hint: Indent inner loop inside outer loop with spaces [OK]
Common Mistakes:
  • Missing indentation for inner loop
  • Incorrect indentation for print
  • Writing loops on same line without colon
3. What is the output of this code?
for i in range(2):
    for j in range(2):
        print(i + j, end=' ')
    print()
medium
A. 0 1 \n0 1
B. 1 2 \n2 3
C. 0 1 1 2
D. 0 1 \n1 2

Solution

  1. Step 1: Calculate inner loop sums for i=0

    j=0: 0+0=0, j=1: 0+1=1 -> prints '0 1 '
  2. Step 2: Calculate inner loop sums for i=1

    j=0: 1+0=1, j=1: 1+1=2 -> prints '1 2 '
  3. Final Answer:

    0 1 \n1 2 -> Option D
  4. Quick Check:

    Sum of i and j per line = 0 1 \n1 2 [OK]
Hint: Add i and j for each inner loop iteration [OK]
Common Mistakes:
  • Ignoring print() creates new line
  • Adding values incorrectly
  • Confusing end=' ' usage
4. Find the error in this nested loop code:
for i in range(3):
for j in range(2):
    print(i, j)
medium
A. print statement should be outside loops
B. Missing colon after inner for loop
C. Inner loop not indented inside outer loop
D. range(2) should be range(3)

Solution

  1. Step 1: Check indentation of inner loop

    Inner for loop must be indented inside outer loop to be nested properly.
  2. Step 2: Identify correct indentation

    Here, inner loop is at same level as outer loop, causing IndentationError.
  3. Final Answer:

    Inner loop not indented inside outer loop -> Option C
  4. Quick Check:

    Indent inner loop inside outer loop [OK]
Hint: Indent inner loop under outer loop to fix error [OK]
Common Mistakes:
  • Not indenting inner loop
  • Misplacing colons
  • Wrong range values
5. How many times will the print statement execute in this nested loop?
for i in range(4):
    for j in range(3):
        for k in range(2):
            print(i, j, k)
hard
A. 24
B. 12
C. 36
D. 9

Solution

  1. Step 1: Calculate iterations of each loop

    Outer loop: 4 times (i=0..3), middle loop: 3 times (j=0..2), inner loop: 2 times (k=0..1).
  2. Step 2: Multiply iterations for total prints

    Total = 4 * 3 * 2 = 24 print executions.
  3. Step 3: Re-check options

    36 says 36, but calculation is 24, so correct is 24.
  4. Final Answer:

    24 -> Option A
  5. Quick Check:

    4*3*2 = 24 prints [OK]
Hint: Multiply all loop ranges for total executions [OK]
Common Mistakes:
  • Adding instead of multiplying loop counts
  • Counting only outer loops
  • Misreading loop ranges