Skip to content

About

Learn enough python to begin to clear OAs and interviews

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Python Ladder

Python Ladder is a set of 150 Python exercises for people who know the basics but do not yet reach for the standard library naturally while solving problems.

It starts where syntax tutorials usually stop. Each problem introduces one tool or pattern, gives you a small reason to use it, and lets you run real Python in the browser.

The aim is simple: get comfortable writing the kind of Python that makes LeetCode questions, OAs, and everyday backend work less annoying.

The curriculum

The exercises are arranged as six levels of 25.

Level Focus
01. Core Python slicing, strings, lists, dictionaries, sets, comprehensions, sorting
02. Built-ins enumerate, zip, map, filter, sum, min, max, any, all
03. Collections Counter, defaultdict, deque, namedtuple, OrderedDict
04. Itertools product, permutations, combinations, chain, groupby, accumulate
05. Algorithmic tools heapq, bisect, functools, operator
06. Professional Python pathlib, typing, dataclasses, re, datetime, contextlib

The last exercise, Mock OA: incident digest, combines parsing, frequency counting, heap ranking, and datetime work in one interview-style problem.

What an exercise includes

Each exercise has:

  • a specific concept and problem prompt
  • starter code with type hints
  • a hint and reference solution
  • a browser-based Python editor
  • output, syntax errors, runtime errors, and test feedback
  • links to relevant Python documentation where useful

The test suites are being expanded across the curriculum. If you find a missing edge case, a misleading prompt, or a solution that should not pass, please open an issue.

Why browser-only

Python code runs through Pyodide in an isolated browser worker. Your drafts and progress stay in localStorage.

There is no account, no learner database, and no server storing your code.

The point of the project

Python tutorials explain features one by one. Coding platforms expect you to already know when to use them.

Python Ladder is a practice bridge between those two things. It is built around the standard-library habits that show up repeatedly in coding problems:

Counter(values)
sorted(rows, key=lambda row: (-row[1], row[0]))
zip(names, scores, strict=True)
heapq.nlargest(k, values)

The curriculum is my take on the order in which those habits become useful. It can be improved.

If you have a better challenge idea, think an exercise belongs somewhere else, spot an unclear explanation, or find weak test coverage, open an issue. The goal is a sharper curriculum, not a static list written once and defended forever.

Run locally

git clone https://github.com/RickyTheDude/python-mastery-ladder.git
cd python-mastery-ladder
npm install
npm run dev

Open http://localhost:4321.

License

GPL-3.0-or-later

About

Learn enough python to begin to clear OAs and interviews

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages