Python, visualised

See your code move.

Write Python and watch every line execute on a table of blocks — variables, lists, dicts, pointers and the call stack, one step at a time. No more guessing what print left out.

36
levels
82
ranked solutions
0
installs — runs in your browser
bubble_sort.py

                
Decode
—

How it reads

A tiny CPU for every line.

Real processors fetch an instruction, decode it, then execute it. codeart does the same for your Python, so cause and effect are never more than one step apart.

  1. 01 · Fetch

    Find the line

    The editor highlights exactly which line runs next — loops, branches and function calls included.

  2. 02 · Decode

    Say what it means

    Plain-English operations: APPEND 7 → end of nums, SWAP arr[0] ⇄ arr[1], need in seen → True.

  3. 03 · Execute

    Watch memory change

    Blocks drop into lists, hop when swapped and fly into variables. Stack frames pile up and pop. Scrub backwards any time.

Every problem, ranked

Brute force to optimal, side by side.

Each level comes with several approaches, tagged by what they optimise for. Animate any of them and compare the work they do on the same input.

EasyClimbing Stairsclimb_stairs(5)
★ Optimal
Two rolling variablestime O(n) · space O(1)
14 steps
Best time
Bottom-up tabletime O(n) · space O(n)
26 steps
Brute force
Plain recursiontime O(2ⁿ) · space O(n)
47 steps

The path

From your first variable to dynamic programming.

Stop imagining memory.
Look at it.

Start level one