← Back

Home › Problems › Loop range boundaries

Loop range boundaries

🧠 Predict the output Topic: loops Difficulty: easy Free

What this problem practises

Loops are where off-by-one bugs live. range() excludes its stop value, the loop variable keeps its last value even after the loop ends, and break versus continue changes the flow in ways that are easy to misread when you skim.

This is an output-prediction problem: read the snippet carefully and write down exactly what it prints before anything runs. These questions are interview staples because they test whether you know the language rules, or merely recognise their syntax.

Difficulty: easy — the fix or the trick is normally a single line, and a careful read should be enough.

The challenge

The code runs in PyDebug’s in-browser compiler. Open the problem, run the snippet, watch the exact error or output, and keep iterating until it is right. Signed-in solves count toward XP and your daily streak.

The snippet

The interactive editor pre-fills exactly this code — read it, then submit your prediction:

for i in range(1, 5):
    print(i)
print("Done")

Understand the rule

This PyDebug exercise focuses on loop range boundaries. It is a small reproducible Python debugging task: identify the input and expected state, then predict each statement before changing code. When output differs, inspect types, boundaries, mutation, and control flow instead of guessing.

How to trace it

  1. Read the prompt and write the expected output for loop range boundaries.
  2. Run the code mentally, recording values after each loop or function call.
  3. Compare actual and expected states and locate the first divergence.
  4. Make the smallest fix, then test a normal and a boundary case.

Common wrong fixes

Rule to remember

Treat loop range boundaries as a focused experiment. A reliable solution explains the output, handles its edge case, and can be verified with a small test in the browser editor.

Solve it in the interactive editor →

More loops problems

Keep going