Set symmetric difference
Write a function that returns the elements found in exactly one of two sets, sorted ascending.
Limit and Offset Query
Write a function that returns a page from a dataset given limit and offset.
Is pangram
Write a function that determines whether a given string is a pangram, ignoring case and non-letter characters.
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.
Is isogram?
Write a function that checks whether a given word is an isogram, ignoring letter case and only considering alphabetic characters.
Extract mentions
Extract unique @mentions from a string, respecting email-like patterns and punctuation.
All Unique Values Keep Order
Remove duplicates from a list, keeping only the first occurrence of each value while preserving relative order.
Is Subset of Another List
Write a function that returns True if every element in a given list exists in another list, ignoring duplicates.
Find Duplicate Number
Given a list of n+1 integers in the range 1..n, find the one integer that appears more than once.
Union of Two Lists
Implement a function that combines two lists and returns only unique elements.
Two Missing Numbers
Given a list of n-2 unique integers from 1 to n, find the two missing numbers efficiently.
Three Missing Numbers
Find the three missing numbers from a shuffled list containing all but three integers from 1 to n.
Intersection two lists length
Return the number of distinct elements that appear in both input lists.
Running Total Window
Implement a function that returns a list of running totals, resetting to zero after each positive sum.
List intersection
Return the sorted list of elements common to both lists.
Are two lists the same multiset
Write a function that checks if two lists contain the same elements with the same multiplicities, ignoring order.
Common Keys of Two Dictionaries
Implement a function that finds keys shared by two dictionaries and returns them sorted.
Union of Many Sets
Implement a function that takes any number of sets and returns a sorted list of their union.
Anagram Groups by Size
Group a list of words into anagram groups and return them sorted by group size and lexicographically.
Pair with difference K
Count unordered index pairs with absolute difference exactly K, handling duplicates correctly.
Set intersection size
Count how many distinct values appear in both of two given lists.
Symmetric Difference
Write a function that computes the symmetric difference of two lists, returning a sorted list of unique elements.
Disjoint Set Check
Check if two lists are disjoint by verifying they have no common elements.
Subset of another set
Write a function that checks if every element of one set is contained in another.
Showing 1–24 of 60 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.