HomeProblems › Counter object adds up

Counter object adds up

🧠 Predict the output Topic: oop Difficulty: medium Free

What this problem practises

Object-oriented bugs hide in state: class attributes shared by every instance, mutable defaults declared in __init__ signatures, and methods that mutate self when the caller expected a copy.

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

What will this program print? Type the exact output.

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:

class Counter:
    def __init__(self):
        self.count = 0
    def add(self, n):
        self.count += n
c = Counter()
c.add(8)
c.add(3)
print(c.count)
Solve it in the interactive editor →

More oop problems

Keep going