Practice Arena

Python Coding Challenges

Write real Python in the browser. Instant feedback. From beginner to expert.

925 challenges 556 easy 323 medium 46 hard
Iterators & Generators easy

Pairwise Sequence Pairs

Write a generator function pairwise that yields each consecutive overlapping pair from any iterable as lists.

generators iterators pairs
+10 pts 15m
Iterators & Generators easy

Groupby Consecutive

Write a generator function that yields (value, list_of_occurrences) for each run of consecutive equal items.

generator groupby consecutive
+8 pts 12m
Iterators & Generators easy

Flatten Nested List Iterator

Implement a class that iterates over all integers in a nested list structure in depth-first order.

iterator generator flatten
+10 pts 15m
Iterators & Generators easy

Zip Longest Fill

Create an iterator that yields lists from multiple iterables, padding with a fill value when lengths differ.

generators zip iteration
+8 pts 12m
Error Handling & Exceptions easy

Parse Error Recovery

Parse a whitespace-separated string into a list of valid integers, skipping invalid tokens.

parsing exceptions error-handling
+10 pts 15m
Math & Number Theory easy

Polynomial evaluator

Implement a polynomial evaluator that computes the value of a polynomial given as a list of coefficients.

polynomial math evaluation
+5 pts 10m
Math & Number Theory easy

Sieve of Eratosthenes

Implement the Sieve of Eratosthenes to return a sorted list of all primes up to a given integer n.

primes sieve loops
+10 pts 15m
Math & Number Theory easy

Prime Factorization

Return a sorted list of prime factors of a positive integer, including repeated factors.

prime math loops
+10 pts 15m
Math & Number Theory easy

Dot Product of Vectors

Implement a function that returns the dot product of two numeric vectors.

math lists dot-product
+10 pts 10m
Math & Number Theory medium

Correlation Coefficient

Write a pure-Python function that computes the Pearson correlation coefficient between two lists of numbers.

statistics math arrays
+15 pts 15m
Math & Number Theory easy

Z score normalization

Compute the z-scores for a list of numbers using the population standard deviation.

statistics math standard-deviation
+8 pts 10m
Bit Manipulation easy

Single Number XOR

Given a non-empty list of integers where every element appears twice except one, return the single number using XOR.

xor bit-manipulation arrays
+10 pts 12m
Bit Manipulation easy

Missing Number XOR

Given a list of n distinct numbers from 0 to n with one missing, use XOR to find and return the missing number.

xor bitwise arrays
+10 pts 15m
Bit Manipulation medium

Maximum XOR Pair

Implement max_xor_pair(nums) that returns the maximum XOR value obtainable by pairing any two numbers in the given list.

bit-manipulation xor array
+25 pts 30m
Bit Manipulation easy

Subset XOR sum

Given a list of integers, compute the bitwise XOR of each non-empty subset and return the sum of those XOR totals.

xor bitwise subsets
+8 pts 10m
Dynamic Programming easy

House Robber

Given a list of house values, return the maximum sum you can rob without robbing two adjacent houses.

dynamic-programming arrays optimization
+10 pts 15m
Dynamic Programming easy

Triangle Minimum Path

Compute the minimum path sum from top to bottom of a triangle given as a list of lists.

dynamic-programming bottom-up arrays
+12 pts 20m
Dynamic Programming medium

Partition Equal Subset

Determine whether a given list of positive integers can be partitioned into two subsets with equal sum.

dynamic-programming subset-sum memoization
+30 pts 25m
Dynamic Programming medium

Target Sum Subsets

Write a function that counts the number of subsets of a list of positive integers that sum exactly to a target.

subset-sum dp counting
+25 pts 30m
Dynamic Programming medium

Longest Arithmetic Subsequence

Given a list of integers, return the length of the longest arithmetic subsequence (constant difference) within it.

dp subsequence hashmap
+30 pts 25m
Dynamic Programming medium

Count subsets with sum

Given a list of integers and a target sum, count how many subsets of the list sum to the target.

subset-sum dynamic-programming counting
+20 pts 25m
Dynamic Programming medium

Matrix Chain Multiplication

Given a list of matrix dimensions, compute the minimum multiplication cost using dynamic programming.

matrix dynamic-programming optimization
+30 pts 25m
Dynamic Programming medium

Target sum assignments

Given a list of integers and a target, count how many ways to assign + or - to each number so the total equals the target.

dynamic programming combinatorics arrays
+30 pts 25m
Dynamic Programming medium

Subset Sum Exists

Given a list of positive integers and a target sum, return whether some subset adds up exactly to the target.

subset sum dynamic programming knapsack
+25 pts 30m

Showing 169–192 of 273 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

  1. Pick a category — basics, algorithms, strings, and more
  2. Open a challenge, read the statement, and edit the starter code
  3. 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.