Flatten nested list
Yield every integer from an arbitrarily nested list, depth-first.
AST Visitor Lite
Implement a depth-first traversal of a simplified AST and return identifier names in order.
Yield from delegation
Implement a generator that flattens nested iterables of any depth using `yield from`.
Flatten Nested List Iterator
Implement a class that iterates over all integers in a nested list structure in depth-first order.
Graph DFS Generator
Implement a generator function that performs a depth-first traversal of a graph without recursion.
Maximum depth of tree
Implement max_depth(root) to return the maximum depth of a binary tree.
Minimum Depth of Tree
Given a binary tree, compute the minimum depth from the root to the nearest leaf node.
Binary tree left side view
Given a binary tree, return the leftmost node's value at each depth, from top to bottom.
Showing 1–8 of 8 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.