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.