Snake case to camel case
Implement a function that converts snake_case strings to camelCase.
Error message formatter
Write a function that constructs a formatted error message from a code, an optional context, and a fallback message.
Extract Hashtags
Extract unique hashtags from a given text string in the order they appear.
Remove HTML tags
Remove all HTML tags from a string to extract clean text.
Extract Quoted Strings
Write a function that extracts the text inside every double-quoted substring from a given string.
Find all numbers in text
Write a function that extracts all standalone integers from a text string using regular expressions.
Parse markdown headers
Write a function that parses markdown headers and returns their levels and texts.
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.
Decode base64 string
Write a function that decodes a base64 string to its original UTF-8 text without using the base64 module.
Find repeated words
Return a lowercase list of unique words that appear more than once across a given text, ignoring case.
Async Context Manager Lifecycle
Build an async context manager class that tracks acquisition and ensures cleanup.
Close generator early
Wrap any iterable in a generator that tracks yielded items and supports close() correctly.
Context Manager Class
Implement a context manager class that measures execution time and sets duration, with None if an exception occurred.
File Open Context Manager
Create a class that acts as a context manager for opening a virtual file in memory.
Timer Context Manager
Implement a context manager that measures execution time of a with block and stores it.
Suppress stderr manager
Implement a context manager that suppresses all output written to stderr during its block.
Context Decorator Dual
Implement a timing decorator and a context manager that both record elapsed time in seconds.
Lock Context Manager
Implement a Lock class with acquire/release and context manager support.
Multiline anchor match
Extract lines beginning with a plain-text prefix from multiline strings using Python's re module.
Config Parser Reader
Parse a simple INI-style configuration text into a nested dictionary.
Parse YAML-like dict
Parse a simple YAML-like text with indentation into a nested dictionary.
Parse table rows
Implement a function that converts a simple text table into a list of dictionaries.
Showing 1–23 of 23 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.