Top K Frequent Words
Given a list of words, return the k most frequent words sorted by frequency (descending) and then alphabetically.
Ransom Note Builder
Given two strings, determine if the ransom note can be formed from the words in the magazine.
Pivot sales by product
Write a function that pivots sales records into a dictionary keyed by product with monthly totals.
Valid parentheses
Return True if brackets in the string close in the correct order.
Parse Error Recovery
Parse a whitespace-separated string into a list of valid integers, skipping invalid tokens.
Validate Hex Color Code
Write a function that validates hex color codes using regular expressions.
Multiline anchor match
Extract lines beginning with a plain-text prefix from multiline strings using Python's re module.
Match Balanced Parentheses with Regex
Write a function that uses regular expressions to determine if parentheses are balanced and properly nested.
Compress Bits Run
Write a function that compresses a binary string by representing consecutive identical bits as a count-bit pair.
Longest Substring Without Repeating Characters
Implement a function that returns the length of the longest substring without repeating characters.
Format date output
Parse ISO date strings and format them into a friendly US-style date output.
Duration Human Readable
Write a function that turns a number of seconds into a human-readable duration like '2 hours, 1 minute'.
Protocol definition
Parse a simple wire protocol string into a structured dictionary.
Config Parser Reader
Parse a simple INI-style configuration text into a nested dictionary.
Generate CSV row
Implement a function that converts a list of values into a single CSV row with correct quoting and escaping.
Parse email header
Write a function that parses a raw email header string and returns sender, recipient, and subject.
Encode Base64 String
Write a function that encodes a UTF-8 string into a base64 string without using the base64 module.
Parse CSV Row
Implement a robust function that parses a single CSV line into a list of fields, handling double quotes and escaped quotes.
Parse Apache log line
Write a function that parses a single Apache access log line into a dictionary with IP, timestamp, request, status, and size.
Parse table rows
Implement a function that converts a simple text table into a list of dictionaries.
Constant Time Compare
Write a function that compares two strings without leaking length or content via timing.
XOR Cipher Encode
Implement the XOR cipher: encode a string by XORing each character with a key character.
Constant time compare
Write a function that compares two strings in constant time to avoid timing attacks.
Showing 97–119 of 119 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.