Even or odd?
Return 'even' or 'odd' for an integer.
Clamp a Number to a Range
Implement a clamp function that returns a value within a specified range.
Leap Year Checker
Implement a function that decides whether a year is a leap year according to the standard Gregorian rules.
Grade from Score
Write a function that maps a numeric score to its letter grade using standard grading thresholds.
Sign of a Number
Write a function that returns the sign of a number as a string.
Max of a variable-length list
Implement a function that returns the maximum value from a list of numbers without using max().
Classify triangle by sides
Write a function that classifies a triangle based on three side lengths.
Between inclusive
Write a function that returns True if a number is between two given bounds, inclusive of the bounds.
Replace negatives with zero
Implement a function that replaces all negative numbers in a list with zero.
Leap Year Checker
Implement a function that returns True if a year is a leap year according to the Gregorian calendar rules.
Grade Calculator
Implement a function that converts a numeric score to a letter grade using a standard scale.
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.
Max of three numbers
Implement a function that returns the maximum of three numbers using comparisons.
Sign of a number
Write a function sign_of_number that returns -1 for negatives, 0 for zero, and 1 for positives.
Countdown printer
Implement a function that prints a countdown from a given number down to 1, then returns 'Go!'.
Count Positives
Count the positive numbers in a list of integers.
Is divisible by?
Create a function that returns True if a is divisible by b with no remainder, with a clear definition of edge cases.
Linear Search Implementation
Implement a linear search function that returns the index of the first occurrence of a target in a list, or -1 if not found.
Validate date format
Return True if input string is exactly YYYY-MM-DD and a real calendar date.
Palindromic Number Check
Write a function to check if a given integer is a palindrome.
Hexagonal Number
Write a function to check if a positive integer is a hexagonal number.
Guess Number Game
Simulate a number guessing game with attempts, feedback, and a win/lose result.
Overlap two intervals
Given two closed intervals, return their overlap as a tuple or None if they do not overlap.
Parse environment variables
Write parse_env_vars that parses KEY=VALUE lines into a dict, converting booleans/numbers and ignoring comments.
Filter by Age
Filter a list of person dictionaries by age and return their names.
Element-wise Clip
Implement a function that clips each element of a list to a specified range.
Logging Filter
Given a list of log entries, return those matching a given severity level and containing a keyword.
Parse Boolean Strings
Implement a function that parses a boolean string into a Python bool, handling True/False/Yes/No/1/0 case-insensitively.
Clamp and round to nearest ten
Clamp a number between given bounds and round the result to the nearest ten with halves away from zero.
Perfect Number Check
Write a function that returns True if a number is perfect, i.e., equal to the sum of its proper divisors.
Sparse Number Check
Check if a non-negative integer is sparse, meaning its binary representation contains no adjacent 1 bits.
Showing 31 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.