Broadcast Add Scalar
Add a scalar to every number in a 2D list and return a new 2D list without modifying the original.
Fancy Index Select
Given a 2D matrix and a list of row indices, select those rows in order and return them as a new 2D list.
Reshape array dimensions
Implement a function that reshapes a 1D list into a 2D list with given dimensions.
Cumulative Sum Vectorized
Implement a function that returns the cumulative sum of a list of numbers.
Element-wise Clip
Implement a function that clips each element of a list to a specified range.
Percentile Calculation
Given a list of numbers and a target value, return the percentile rank of that value in the list.
Euclidean Distance Matrix
Write a function to compute the Euclidean distance between every pair of points from two lists.
Logging Filter
Given a list of log entries, return those matching a given severity level and containing a keyword.
Order by Name
Implement a function that sorts a list of names alphabetically ignoring case, returning a new list.
Argmax along axis
Write a function that returns index positions of the maximum values along rows or columns of a 2D list.
Longest common prefix
Find the longest common prefix among a list of strings.
Find all indexes of a substring
Write a function that returns a list of all starting indexes where a substring appears in a string, including overlapping occurrences.
Safe Command Executor
Implement emulate_run that simulates running a command list and returns output and exit code.
Parse bullet list
Parse a markdown-style bullet list and return the list of item texts, stripping bullet markers and trimming surrounding whitespace.
Parse numbered list
Take a string containing a numbered list and return a clean list of the item texts.
Parse coordinate pairs
Parse a string of coordinate pairs into a list of coordinate lists.
Parse range notation
Parse a comma-separated list of ranges and individual numbers, expanding each range into its full sequence.
Find repeated words
Return a lowercase list of unique words that appear more than once across a given text, ignoring case.
Crawler Log Folder
Given a list of folder navigation operations, compute the minimum steps required to return to the main folder.
Parse Hex Dump
Write a function that parses a hex dump string into a list of integers.
Rotate array
Rotate a list right by k positions in place.
Flatten nested list
Yield every integer from an arbitrarily nested list, depth-first.
Remove duplicates (sorted)
Return a sorted list with duplicates removed.
Running Product of Integers
Given a list of integers, return a new list where each element at index i is the product of all elements from index 0 to i.
Showing 25–48 of 273 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.