← Back

Home β€Ί Problems β€Ί Division by zero in a list comprehension

Division by zero in a list comprehension

🧠 Predict the output Topic: exceptions Difficulty: medium Free

What this problem practises

Exceptions are control flow. except clauses are matched top to bottom, finally runs even after a return, and catching too broadly hides the real bug behind a generic message.

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: medium β€” expect to hold two interacting rules in your head at once, such as a boundary combined with a mutation.

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 error it raises

Run the broken snippet and Python stops with this exact error: ZeroDivisionError: division by zero. Match it to the Python errors guide, then repair the line that produced it β€” knowing the message is half the fix.

The snippet

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

scores = [30, 40, 35]
passing = [s for s in scores if s >= 50]
average = sum(passing) / len(passing)
print(average)

Understand the rule

This PyDebug exercise focuses on division by zero in a list comprehension. 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 division by zero in a list comprehension.
  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 division by zero in a list comprehension 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 β†’

🚨 Learning path: Exceptions

Problem 4 of 10 in this path. Work them in order β€” each one builds on the rule before it.

← Previous problemNext in path: try-except-else flow β†’

More exceptions problems

Keep going