Practice Arena

Python Coding Challenges

Write real Python in the browser. Instant feedback. From beginner to expert.

875 challenges 536 easy 303 medium 36 hard
Lists & Arrays easy

Longest Run of Equal Values

Compute the length of the longest run (consecutive block) of equal elements in a list.

lists consecutive run-length
+8 pts 10m
OOP & Classes medium

Reentrant Lock Manager

Implement a ReentrantLock class with acquire, release, locked, owner, and helper functions that test thread-safety with real threads.

threading locking reentrant
+20 pts 20m
Decorators & Context Managers easy

Timer Context Manager

Implement a context manager that measures execution time of a with block and stores it.

context-manager timing measurement
+10 pts 15m
Decorators & Context Managers easy

Suppress stderr manager

Implement a context manager that suppresses all output written to stderr during its block.

context-managers stderr redirect
+8 pts 10m
Decorators & Context Managers easy

Lock Context Manager

Implement a Lock class with acquire/release and context manager support.

context-manager threading lock
+8 pts 12m
Error Handling & Exceptions easy

Else on try block

Implement a function that uses try-except-else to safely divide two numbers and return a result or error description.

exception-handling try-except-else division
+8 pts 10m
Error Handling & Exceptions medium

Suppress Specific Exceptions

Implement a custom context manager that suppresses specified exception types within its block.

context-manager exceptions suppress
+20 pts 20m
Graphs & Graph Algorithms medium

Open the Lock BFS

Implement a BFS solution to find the minimum number of turns needed to open a 4-wheel lock, avoiding a set of deadends.

bfs strings graph
+25 pts 30m
Graphs & Graph Algorithms medium

Android unlock patterns

Count the number of valid Android unlock patterns of a given length using a 3x3 grid with adjacency constraints.

graphs dfs backtracking
+25 pts 30m
Matrix & 2D Arrays medium

Spiral Matrix Order

Given a 2D matrix, return all elements in clockwise spiral order starting from the top-left.

matrix spiral traversal
+25 pts 25m
Matrix & 2D Arrays medium

Spiral Matrix Traversal

Implement a function that returns the elements of a 2D matrix in clockwise spiral order.

matrix traversal simulation
+20 pts 25m
Matrix & 2D Arrays easy

Rotate Image 90 Degrees Clockwise

Rotate a square matrix 90 degrees clockwise and return the rotated matrix.

matrix rotation in-place
+10 pts 15m
Matrix & 2D Arrays medium

Matrix Block Sum

Given a 2D matrix and a block size, compute the sum of each block centered at every cell.

matrix prefix-sum 2d-array
+25 pts 25m
Matrix & 2D Arrays medium

Rotate Matrix Layers

Given a square matrix, rotate each concentric layer 90 degrees clockwise.

matrix rotation in-place
+25 pts 30m

Showing 14 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

  1. Pick a category — basics, algorithms, strings, and more
  2. Open a challenge, read the statement, and edit the starter code
  3. 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.