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
Bit Manipulation easy

Gray Code Decode

Implement gray_decode(n) that converts an n-bit Gray code integer back to its standard binary value using XOR accumulation.

gray-code bit-manipulation xor
+10 pts 15m
Bit Manipulation easy

Find Rightmost Set Bit

Implement a function that returns the 1-indexed position of the rightmost set bit of a positive integer, or 0 if none.

bitwise bit-manipulation integer
+8 pts 12m
Bit Manipulation easy

Isolate Rightmost Set Bit

Given an integer, return a number with only its rightmost set bit set.

bit-manipulation bitwise algorithms
+10 pts 10m
Bit Manipulation easy

Rotate Bits Left

Implement a function that rotates the bits of an integer to the left by a specified number of positions.

bit-manipulation integer rotation
+10 pts 15m
Bit Manipulation easy

Add without plus

Implement a function that adds two integers using only bitwise operations, no arithmetic plus or minus.

bitwise addition xor
+10 pts 15m
Bit Manipulation easy

Set kth Bit

Implement a function that sets the kth bit (0-indexed) of a non-negative integer to 1 and returns the result.

bit-manipulation bits integer
+10 pts 15m
Bit Manipulation easy

Clear kth Bit

Implement a function that clears the k-th bit of a non-negative integer (turns it to 0) using bitwise operations.

bit mask integer
+10 pts 10m
Bit Manipulation easy

Sparse Number Check

Check if a non-negative integer is sparse, meaning its binary representation contains no adjacent 1 bits.

bitwise binary conditionals
+10 pts 15m
Bit Manipulation easy

Brian Kernighan count

Implement a function that counts set bits using Brian Kernighan's efficient algorithm.

bit-manipulation integers counting
+10 pts 15m
Bit Manipulation easy

Reverse Bits

Implement a function that reverses the bits of a given 32-bit unsigned integer.

bit-manipulation binary integer
+10 pts 15m
Bit Manipulation easy

Swap Odd and Even Bits

Write a function that swaps odd and even bits of a non-negative integer.

bit-manipulation bitwise integer
+10 pts 15m
Bit Manipulation easy

Clear Rightmost Set Bit

Write a function clear_rightmost_set_bit that accepts a non-negative integer and returns the integer with its rightmost set bit cleared.

bitwise bit manipulation integers
+8 pts 10m
Bit Manipulation easy

Find Duplicate Bits

Given a positive integer, return the positions where the bit value appears more than once in its binary form.

bit-manipulation binary counting
+8 pts 12m
Bit Manipulation easy

Toggle kth Bit

Implement a function that toggles the kth bit of a non-negative integer (0-indexed from the least significant bit) and returns the new integer.

bit-manipulation xor binary
+10 pts 10m
Bit Manipulation easy

Odd Parity Bit

Given an integer, return the odd parity bit (0 or 1) so that total number of 1-bits in the 8-bit representation becomes odd.

bitwise parity integer
+8 pts 10m
Bit Manipulation easy

Parse bit field flags

Write a function that unpacks a bit field integer into a dict of named boolean flags.

bitmask bitwise flags
+10 pts 12m
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
Bit Manipulation easy

Check kth bit

Implement a function that checks whether the k-th bit of a non-negative integer is set (1) or not (0).

bit-manipulation bitwise integer
+8 pts 10m
Bit Manipulation easy

Even Parity Bit

Given an integer, return the even parity bit (0 or 1) that makes the total count of set bits even.

bitwise parity bits
+8 pts 10m
Dynamic Programming easy

Shortest Unsorted Continuous Subarray

Given an array of integers, return the length of the shortest contiguous subarray whose sorting makes the whole array sorted.

arrays sorting two-pointers
+10 pts 15m
Recursion & Backtracking easy

Permutation Generator

Write a function that returns all permutations of a list of distinct integers.

recursion backtracking permutations
+10 pts 15m
Two Pointers & Sliding Window easy

Reduce array to zero

Given an array of non-negative integers, each operation chooses two indices and subtracts 1 from each if both are positive. Return the minimum number of operations to reduce the array to all zeros, or -1 if impossible.

two-pointers arrays greedy
+10 pts 15m
Two Pointers & Sliding Window easy

Squares of Sorted Array

Implement a function that returns a sorted list of squares for a given non-decreasing integer array.

two-pointers sorting array
+10 pts 15m
Linked Lists easy

Sum all node values

Add every integer payload in the list.

linked-list lists pointers
+10 pts 12m

Showing 73–96 of 98 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

  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.