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.
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.
Delete Old Records
Filter a list of records by removing those with a date older than a given cutoff date.
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.
Context Manager Class
Implement a context manager class that measures execution time and sets duration, with None if an exception occurred.
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.
Count calls decorator
Implement a decorator that counts and reports how many times the wrapped function is called.
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.
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.
Days in month
Write a function that returns the number of days in a given month and year, correctly handling leap years.
Format date output
Parse ISO date strings and format them into a friendly US-style date output.
Days Between Dates
Write a function that returns the number of days between two given dates.
Add Days to Date
Given a date in YYYY-MM-DD format and an integer number of days, return the resulting date in the same format.
Weekday from date
Write a function that returns the full English weekday name for a date string.
Showing 1–24 of 43 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.