Sum of digits
Return the sum of all decimal digits of a non-negative integer.
Sum numbers from 1 to n
Implement a function that computes the sum of all integers from 1 to n.
Sum from 1 to n
Write a function that returns the sum of all integers from 1 to n (inclusive).
Perimeter of triangle
Given three side lengths, return the perimeter (sum) of the triangle.
Variadic Sum Function
Implement a variadic function that sums an arbitrary number of numeric arguments.
Two Sum
Return indices (i, j) with i < j such that nums[i] + nums[j] == target.
Maximum subarray (Kadane)
Find the contiguous subarray with the largest sum.
Product except self
Return an array where output[i] is the product of all elements except nums[i], without using division.
Partition Array
Implement a function that finds a contiguous partition of a list into k groups, minimizing the maximum sum of the groups.
Subarray sum equals K
Count the number of contiguous subarrays whose sum equals k.
Merge dicts summing values
Write a function that merges two dictionaries by summing values for duplicated keys.
Missing keys default zero
Write a function to sum numeric values from dictionaries, treating missing keys as zero.
Two Sum with Dict
Implement the classic Two Sum problem: return indices of two numbers that add up to a target using a dict.
Count Pairs with Sum
Implement a function that counts the number of distinct pairs in a list summing to a target.
Path Sum II All Paths
Return all root-to-leaf paths where the sum of node values equals a target.
Sum of divisors
Given an integer n, return the sum of all its positive divisors.
Perfect Number Check
Write a function that returns True if a number is perfect, i.e., equal to the sum of its proper divisors.
Abundant Number Check
Implement a function to check whether a given integer is abundant: sum of proper divisors exceeds the number.
Amicable Numbers Check
Write a function that checks if two numbers are an amicable pair by comparing sums of proper divisors.
Smith Number Check
Write a function to check if a number is a Smith number by comparing digit sums of the number and its prime factorization.
Partition function
Write a function that returns the number of ways to write a positive integer as a sum of positive integers (order irrelevant).
House Robber
Given a list of house values, return the maximum sum you can rob without robbing two adjacent houses.
Triangle Minimum Path
Compute the minimum path sum from top to bottom of a triangle given as a list of lists.
Partition Equal Subset
Determine whether a given list of positive integers can be partitioned into two subsets with equal sum.
Target Sum Subsets
Write a function that counts the number of subsets of a list of positive integers that sum exactly to a target.
Coin Change Ways
Count the number of distinct combinations of coins that sum to a target amount.
Perfect Squares Sum
Given a positive integer n, return the least number of perfect squares (e.g., 1, 4, 9, 16, ...) that sum to n.
Integer Break Product
Given a positive integer n, break it into at least two positive integers that sum to n and maximize their product.
Sum Root to Leaf Numbers
Given the root of a binary tree, compute the total sum of all root-to-leaf numbers.
Extract JSON-like numbers
Parse a simplified JSON-like string without using the json module and sum all numbers found in it.
Showing 30 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.