Python · learn to code from zero · graded by pytest

Learn to code from zero, in Python.Real tests. No videos. It adapts to you.

Two courses that take you from your very first print()to classes, generators and decorators — no prior programming assumed. Every exercise is graded by real pytest tests running against your code, so “it works” is never a vibe. You write Python from minute one.

python-1 · functionspytest
# Return the words that appear more than once.
# The grader runs real pytest tests against your code.
def repeated_words(text):
    counts = {}
    for word in text.lower().split():
        counts[word] = counts.get(word, 0) + 1
    return [w for w, n in counts.items() if n > 1]
test_repeated_words PASSED · 3 passed in 0.02s · pytest
PY 1

Foundations

Coding from zero — output, variables, control flow, lists and dicts, functions and files. Five capstones along the way, from a number guessing game to a complete command-line to-do app.

PY 2

Intermediate

Real-Python fluency — classes and inheritance, custom exceptions, modules, iterators and generators, decorators and functional tools.

NEXT

What's next

After the courses, the practice arcade keeps sharpening what you learned — and the same test-graded format carries into every other CodeArcade track.

01

The tests decide, not vibes

Your code runs against real pytest tests. Pass/fail is deterministic — the AI never grades you, so a green check means your program actually works.

02

It adapts to you

Stuck on loops? The game diagnoses why and builds targeted practice. Breezing through? It moves you up instead of making you sit through what you already know.

03

Build real programs

Capstones like a word frequency counter, a contact book and a CLI to-do app — the answer to tutorial hell. You leave with programs you wrote, not just streaks.

Your first passing test is minutes away.

Start learning Python — free

Free tier is genuinely free — every banked exercise is playable. We gate AI help and fresh generation, never the content. Want a taste first? There's a no-signup Python demo on the homepage.