A closure that keeps state in Python

Python interview exercise on Functions & Decorators, difficulty 2 of 3. Solve it in the editor beside a worked example; the tests run the moment you do.

Write make_counter(start=0) that returns a function; each call adds 1 and returns the new count. Every counter keeps its own count. Reading an outer variable is free; assigning to it needs a declaration.

Each exercise pairs a worked example with a twin problem to solve in a real editor; the tests run the moment you do. Progress is saved in your browser, and in your account if you sign in.

More Functions & Decorators in Python

All Python exercises · Other languages and frameworks