Practice Arena

Python Coding Challenges

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

925 challenges 556 easy 323 medium 46 hard
Linked Lists medium

Split list at index

Return prefix and suffix tuples at index k.

linked-list lists pointers
+22 pts 20m
Linked Lists hard

Second node value

Return the second value or None if fewer than two nodes.

linked-list lists pointers
+35 pts 30m
Linked Lists hard

Drop the tail node

Return a new list without the last node.

linked-list lists pointers
+35 pts 30m
Linked Lists hard

Join node values with arrows

Format string node values as 'a -> b -> c'; empty list returns ''.

linked-list lists pointers
+35 pts 30m
Linked Lists hard

Compare two linked lists

Return True when both lists have identical values in order.

linked-list lists pointers
+35 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

01 Matrix Nearest Zero

Given a binary matrix, return a matrix of the same shape where each cell contains the Manhattan distance to the nearest 0.

matrix bfs distance
+25 pts 30m
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 easy

Diagonal Traverse Matrix

Implement a function that returns all elements of a matrix in diagonal zigzag order.

matrix traversal array
+12 pts 20m
Matrix & 2D Arrays easy

Transpose Matrix In-Place

Implement a function that transposes a square matrix in-place and returns the transposed matrix.

matrix transpose in-place
+8 pts 12m
Matrix & 2D Arrays easy

Matrix Multiply 2D

Write a function that multiplies two 2D matrices (lists of lists) and returns the product matrix.

matrix multiplication nested-loops
+8 pts 10m
Matrix & 2D Arrays easy

Transpose 2D Array

Implement a function that returns the transpose of a rectangular 2D list.

matrix transpose nested-lists
+10 pts 10m
Matrix & 2D Arrays medium

Pacific Atlantic Flow

Given a height matrix, return all cells from which water can flow to both the Pacific and Atlantic oceans.

matrix bfs grid
+25 pts 25m
Matrix & 2D Arrays medium

Pacific Atlantic Matrix DFS

Given a matrix of heights, return cells that can reach both Pacific and Atlantic oceans using a DFS approach.

dfs matrix traversal
+20 pts 20m
Datetime & Time Calculations easy

Days in month

Write a function that returns the number of days in a given month and year, correctly handling leap years.

datetime calendar leap-year
+8 pts 10m
Datetime & Time Calculations easy

Days Between Dates

Write a function that returns the number of days between two given dates.

datetime date-arithmetic calendar
+10 pts 15m
Datetime & Time Calculations easy

Add Days to Date

Given a date in YYYY-MM-DD format and an integer number of days, return the resulting date in the same format.

datetime date arithmetic
+8 pts 10m
Datetime & Time Calculations easy

Weekday from date

Write a function that returns the full English weekday name for a date string.

datetime date weekday
+10 pts 10m
Datetime & Time Calculations easy

Leap Years in Range

Write a function that returns a list of all leap years between two given years, inclusive.

leap-year range datetime
+7 pts 10m
Datetime & Time Calculations easy

Age in years months days

Given birth and reference dates, return age as a dictionary with years, months, days.

datetime date arithmetic age calculation
+10 pts 15m
Datetime & Time Calculations easy

Time Difference HH:MM

Given two times in HH:MM format, return the absolute difference as a string in HH:MM format.

datetime time string
+10 pts 10m
Datetime & Time Calculations easy

Unix timestamp to datetime

Write a function that returns a UTC datetime string from a Unix timestamp.

datetime unix-timestamp utc
+10 pts 15m
Datetime & Time Calculations easy

Next Weekday Finder

Write a function that returns the next weekday date after a given date.

datetime date weekday
+10 pts 12m

Showing 313–336 of 371 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.