Largest Area Histogram Matrix
Given a binary matrix, compute the largest rectangle area consisting entirely of 1s.
Employees earning more than manager
Given employee records with manager IDs, find those who earn more than their direct manager.
Arithmetic Slices Count
Given a list of integers, count how many contiguous subarrays of length at least 3 form an arithmetic sequence.
Accounts Merge
Given a list of accounts, merge those that share any email and return sorted accounts.
Knight Tour Count
Implement a backtracking search to count all ways a knight can visit every cell on a 5x5 board exactly once starting from (0,0).
Strobogrammatic number II
Given a positive integer n, return all strobogrammatic numbers of length n in ascending order.
Context manager timer
Implement a Timer context manager that records elapsed seconds.
Infinite counter generator
Create an infinite counter starting from `start`, stepping by `step`.
Retry decorator
Implement @retry(times=3) that retries a function on exception.
2D Vector dataclass
Implement a Vector2D dataclass with +, -, scalar *, dot product, and magnitude.
Data pipeline
Implement a Pipeline class supporting pipe chaining with the | operator.
Validated descriptor
Implement a TypedField descriptor that raises TypeError if the value is not of the expected type.
Async Context Manager Lifecycle
Build an async context manager class that tracks acquisition and ensures cleanup.
Default Argument Trap
Implement a function that safely accumulates items without the classic mutable default argument bug.
Multiprocessing Queue
Implement a function that uses a multiprocessing queue to compute factorials of a list of numbers in parallel.
TypeVar bounded generic
Learn to use TypeVar with bounds to write type-safe generic functions in Python.
Metaclass Registry
Implement a metaclass that automatically registers every subclass in a class-level registry.
Context Variable Scope
Implement a context manager that temporarily changes a global variable and restores it afterwards, even if an exception occurs.
Descriptor Property
Create a descriptor class that ensures attribute values are positive integers.
Custom iterator class
Implement a custom iterator class that repeatedly yields elements from a list up to a given number of times.
Generator Pipeline
Implement a generator function that yields only even numbers from an input list, squared.
Range-like generator
Implement a custom generator that yields numbers like Python's range but with flexible bounds.
Fibonacci Generator
Create a generator function that yields Fibonacci numbers from 0 upward until a given limit.
Prime Sieve Generator
Implement a generator function that yields prime numbers from 2 up to a specified limit, using an efficient sieve approach.
Showing 409–432 of 925 challenges
Guide: free Python coding challenges
Practice Python by solving problems
PythonSkillset challenges are hands-on coding exercises from beginner to advanced. Open a challenge, read the problem, write Python in the split-pane editor, and run tests with Pyodide — no install required.
How to use the arena
- Pick a category — basics, algorithms, strings, and more
- Open a challenge, read the statement, and edit the starter code
- Run tests, fix failures, then try a related quiz or tutorial lesson
Challenges vs tutorials and quizzes
Challenges test what you can build under constraints. For guided teaching, use our Python tutorials. For quick checks, try quizzes or copy snippets from code samples.