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.
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.
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.
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.
Profile time decorator
Create a decorator that tracks how many times a function is called and its cumulative execution time.
Timer Context Manager
Implement a context manager that measures execution time of a with block and stores it.
Context Decorator Dual
Implement a timing decorator and a context manager that both record elapsed time in seconds.
Min cost climbing stairs
Compute the minimum total cost to reach the top of a staircase, given you can climb 1 or 2 steps at a time.
Network Delay Time
Given a directed weighted graph and a starting node, find the minimum time for a signal to reach all nodes, or -1 if unreachable.
Find center of star graph
Write a function that finds the center node of a star graph from its list of edges in O(1) time.
Best Time to Buy and Sell Stock
Given a list of daily stock prices, determine the maximum profit achievable by buying on one day and selling on a later day.
Rotting Oranges Time
Given a grid of fresh, rotten, and empty cells, compute the minimum minutes until all fresh oranges rot, or -1 if some are unreachable.
Days in month
Write a function that returns the number of days in a given month and year, correctly handling leap years.
Showing 27 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.