Fatskills
Practice. Master. Repeat.
Study Guide: Computer Science Grade 5 Loops in Python for and while
Source: https://www.fatskills.com/5th-grade-science/chapter/computer-science-grade-5-loops-in-python-for-and-while

Computer Science Grade 5 Loops in Python for and while

By Fatskills Exam Guides Team — the exam nerds behind 28,500+ quizzes and 2.1M practice questions across 500+ global exams.

⏱️ ~5 min read

Grade 5 Computer Science Study Guide: Loops in Python (for and while)


1. The Driving Question

"If I want my game character to jump 10 times in a row, or my robot to keep moving until it hits a wall, why do I have to type the same command over and over? Isn’t there a way to tell the computer ‘do this a bunch of times’ without copying and pasting the same code like a broken record?"


2. The Core Idea — Built, Not Listed

Imagine you’re teaching a robot dog named Barkley to fetch a tennis ball. You could tell Barkley: "Take one step. Pick up the ball. Take one step back. Drop the ball. Repeat that 5 times." But typing those four lines five times would be exhausting—and what if you wanted Barkley to fetch 100 times? That’s where loops come in. A loop is like a shortcut command that says, "Do this set of actions over and over, either a certain number of times (for loop) or until something changes (while loop)."


  • for loop: Use this when you know exactly how many times you want something to happen. Example: "Barkley, fetch the ball 5 times." python for i in range(5):
    print("Barkley fetches the ball!")
    The range(5) is like counting on your fingers: 0, 1, 2, 3, 4 (that’s 5 times).

  • while loop: Use this when you don’t know how many times you’ll need to repeat, but you know the condition that will stop it. Example: "Barkley, keep fetching the ball until the sun goes down." python sun_is_up = True while sun_is_up:
    print("Barkley fetches the ball!")
    # Later, someone sets sun_is_up = False

Key Vocabulary:
- Loop: A command that repeats a block of code.
Example: A microwave’s "30-second" button—it keeps heating until the time runs out (like a while loop checking the timer).
- Iteration: One complete run through a loop.
Example: If you do 10 jumping jacks, each jack is one iteration.
- Condition: A true/false statement that controls a while loop.
Example: "Is the cookie jar empty?" (If yes, stop reaching for cookies.) - Range: A sequence of numbers used in a for loop.
Example: range(3) gives you 0, 1, 2 (like counting laps in gym class).


3. Assessment Translation

How this appears in class:
- Exit Ticket: "Write a for loop that prints ‘Hello!’ 4 times. Then, write a while loop that prints ‘Goodbye!’ until a variable is_raining becomes True." - Proficient response:
```python
# for loop
for i in range(4):
print("Hello!")


# while loop
is_raining = False
while not is_raining:
print("Goodbye!")
is_raining = True # This stops the loop ``` *Teacher looks for*: Correct loop structure, proper indentation, and a condition that *eventually* stops the `while` loop.
  • Developing response:
    ```python
    # Missing indentation
    for i in range(4):
    print("Hello!")

    Infinite loop (no way to stop)

    while True:
    print("Goodbye!") `` *Loses credit for*: Syntax errors (indentation), or awhile` loop that never ends.

State Test Framing (Grade 5):
- Multiple Choice: "Which loop is best for printing ‘Happy Birthday!’ 10 times?" - Distractors:
- A while loop with no condition (infinite loop).
- A for loop with range(11) (off-by-one error).
- A for loop with range(10, 0) (backwards counting).
- Correct answer: for i in range(10): print("Happy Birthday!")


  • Short Answer: "Explain why this while loop might cause a problem. What could you add to fix it?" python while True:
    print("Loading...")
    Proficient response: "This loop will run forever because the condition is always True. To fix it, add a way to change the condition, like time_left = 5 and time_left = time_left - 1 inside the loop."


4. Mistake Taxonomy

Mistake 1: The Infinite while Loop
- Prompt: "Write a while loop that prints ‘Countdown: 3’ then ‘Countdown: 2’ then ‘Countdown: 1’." - Common Wrong Response: python count = 3 while count > 0:
print("Countdown:", count)
Loses credit: The loop never stops because count never changes. The computer gets stuck printing "Countdown: 3" forever.
- Correct Approach: python count = 3 while count > 0:
print("Countdown:", count)
count = count - 1 # This updates the condition!

Mistake 2: Off-by-One in for Loops
- Prompt: "Write a for loop that prints numbers 1 through 5." - Common Wrong Response: python for i in range(5):
print(i)
Loses credit: This prints 0, 1, 2, 3, 4. range(5) starts at 0 by default.
- Correct Approach: python for i in range(1, 6): # Start at 1, stop before 6
print(i)

Mistake 3: Indentation Errors
- Prompt: "Fix this code so it prints ‘Meow’ 3 times." python for i in range(3): print("Meow") - Common Wrong Response: "It’s fine!" (No, it’s not—Python needs indentation to know what’s inside the loop.) - Correct Approach: python for i in range(3):
print("Meow") # Indented!


5. Connection Layer

  • Within Computer Science: Loops → Functions
    Why it matters: Loops repeat code blocks; functions let you name those blocks (e.g., def fetch_ball():) and reuse them anywhere. Without loops, functions would just run once!

  • Across Subjects: Loops → Music (Rhythm)
    Why it matters: A for loop is like a metronome—it repeats a beat a set number of times (e.g., 4 counts in a measure). A while loop is like a drum solo—it keeps going until the drummer decides to stop.

  • Outside School: Loops → Video Game Speedruns
    Why it matters: Speedrunners use loops to glitch through walls by repeating a jump or crouch at the exact right moment. A while loop in their controller input might say, "Keep pressing ‘jump’ until the character clips through the floor."


6. The Stretch Question

"What happens if you put a for loop inside a while loop? For example, this code:


level = 1
while level < 3:
for i in range(2):
print("Level", level, "Jump", i)
level = level + 1

How many times does ‘Jump’ print? Why does the output look like a staircase?"

Pointer Toward the Answer: The while loop runs twice (for level = 1 and level = 2). Each time, the for loop runs twice (for i = 0 and i = 1). So "Jump" prints 4 times total, but the output groups them by level:


Level 1 Jump 0
Level 1 Jump 1
Level 2 Jump 0
Level 2 Jump 1

It’s like a nested staircase—the outer loop (while) is the flight of stairs, and the inner loop (for) is each step. Try changing range(2) to range(3) and see what happens!



ADVERTISEMENT