Toggle a boolean n times
Apply boolean toggling n times and return the final boolean value.
Minutes to Hours: Time Conversion Helper
Write a function that converts minutes into a human-readable 'Xh Ym' string, with special cases for zero and whole hours.
Simple Interest Calculator
Implement a function that calculates simple interest given principal, annual rate, and time in years.
Longest Substring with K Repeating Characters
Return the length of the longest substring of a given string in which every character appears at least K times.
Condition Variable Waiter
Implement a deterministic simulation of a waiter whose tray has limited capacity and who becomes busy for a fixed time after each pickup.
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.
Validate time format
Check whether a given string is a valid 24-hour time in HH:MM format.
Parse Log Line
Write a function that parses a log line and returns a dictionary with timestamp, level, and message.
Majority Element Finder
Implement a function that returns the majority element in a list, which appears more than half the time.
Counting Sort
Implement the counting sort algorithm to sort a list of non-negative integers in O(n + k) time.
Design Twitter Feed
Implement a Twitter class with postTweet, getNewsFeed, follow, and unfollow methods.
Word ladder length
Return the length of the shortest transformation from beginWord to endWord changing one letter at a time.
Longest Consecutive Sequence
Given an unsorted list of integers, find the length of the longest consecutive elements sequence in O(n) time.
Median of Two Sorted Arrays
Given two sorted arrays, return the median of the combined sorted array in O(log(min(n,m))) time.
Merge time intervals
Given a list of time intervals, merge all overlapping intervals and return the merged intervals.
Delete Old Records
Filter a list of records by removing those with a date older than a given cutoff date.
Delete Middle Node
Implement a function that deletes a given non-tail node from a singly linked list in O(1) time.
Context manager timer
Implement a Timer context manager that records elapsed seconds.
Retry decorator
Implement @retry(times=3) that retries a function on exception.
Custom iterator class
Implement a custom iterator class that repeatedly yields elements from a list up to a given number of times.
Timing Decorator
Implement a decorator that prints the execution time of a function.
Memoize with TTL
Implement a decorator that caches function results for a limited time, returning cached values within the TTL and recomputing after expiry.
Context Manager Class
Implement a context manager class that measures execution time and sets duration, with None if an exception occurred.
Rate Limit Decorator
Implement a decorator that enforces a maximum number of calls per second for any function.
Showing 1–24 of 67 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.