Filter by Age
Filter a list of person dictionaries by age and return their names.
Limit and Offset Query
Write a function that returns a page from a dataset given limit and offset.
Rank Employees by Salary
Sort a list of employee dictionaries by salary descending, tie-break by name, and return ranked strings.
Array mean and std
Implement the function array_stats that returns the mean and population standard deviation of a list of numbers.
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.
Cumulative Sum Vectorized
Implement a function that returns the cumulative sum of a list of numbers.
Percentile Calculation
Given a list of numbers and a target value, return the percentile rank of that value in the list.
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.
Invariant checker
Implement check_invariant(a, b, c) that returns True when a equals b plus c and False otherwise, matching the given examples.
Argmax along axis
Write a function that returns index positions of the maximum values along rows or columns of a 2D list.
Reverse a string
Return the characters of the string in reverse order.
Palindrome check
Return True if the string reads the same forwards and backwards (ignoring case and non-alphanumeric).
Title case converter
Return the string with each word capitalised.
Anagram check
Return True if two strings are anagrams of each other.
Repeat each character n times
Given a string s and an integer n, return a new string where each character of s is repeated n times consecutively.
Longest word in a sentence
Write a function that returns the longest word from a sentence, with first-occurrence tie-breaking.
Extract Digits Only
Given a string that may contain letters, symbols, and whitespace, extract all digits in order and return them as an integer.
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.
Interleave Two Strings
Given two strings s1 and s2, return a new string that interleaves them character by character, starting with s1.
Sort characters alphabetically
Sort all characters in a string alphabetically and return the sorted string.
Initials from a Full Name
Return the uppercase initials of each word in a given full name.
Is pangram?
Implement is_pangram(s) to return True if the string contains every letter from 'a' to 'z' at least once, ignoring case and non-alphabetic characters.
Showing 49–72 of 255 challenges · easy
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.