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.
Metaclass Registry
Implement a metaclass that automatically registers every subclass in a class-level registry.
Descriptor Property
Create a descriptor class that ensures attribute values are positive integers.
Validation result object
Implement a ValidationResult class that tracks validation errors and can report validity.
Sieve of Eratosthenes
Implement the Sieve of Eratosthenes to return a sorted list of all primes up to a given integer n.
Prime Factorization
Return a sorted list of prime factors of a positive integer, including repeated factors.
Happy number check
Implement a function that returns True if a number is happy, False otherwise.
Gas Station Circuit
Given gas and cost arrays for a circular route, determine the starting gas station index that allows a full loop, or -1 if none exists.
Matrix Multiply 2D
Write a function that multiplies two 2D matrices (lists of lists) and returns the product matrix.
Showing 49–59 of 59 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.