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
Python Basics easy

FizzBuzz, precisely

Return a newline-separated string for 1..n: Fizz, Buzz, FizzBuzz, or the number.

control flow strings modulo
2
+10 pts 12m
Python Basics easy

Even or odd?

Return 'even' or 'odd' for an integer.

modulo conditionals
1
+5 pts 5m
Python Basics easy

Leap Year Checker

Implement a function that decides whether a year is a leap year according to the standard Gregorian rules.

boolean conditionals date
+5 pts 5m
Python Basics easy

Is a multiple of both

Write a function that returns True if a number is divisible by both of two given divisors.

modulo boolean function
+5 pts 5m
Python Basics easy

Toggle a boolean n times

Apply boolean toggling n times and return the final boolean value.

booleans arithmetic modulo
+6 pts 8m
Python Basics easy

Leap Year Checker

Implement a function that returns True if a year is a leap year according to the Gregorian calendar rules.

conditionals boolean modulo
+10 pts 10m
Python Basics easy

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.

division modulo conditionals
+10 pts 10m
Python Basics easy

Modulo Remainder

Implement a function that returns the remainder of a divided by b without using the modulo operator.

modulo arithmetic integers
+5 pts 5m
Python Basics easy

Last Digit Extractor

Write a function that returns the last digit of a non-negative integer using the modulo operator.

integers modulo arithmetic
+5 pts 5m
Lists & Arrays easy

Rotate List Right by k

Implement a function that rotates a list to the right by k positions.

lists rotation modulo
+8 pts 10m
Math & Number Theory easy

Modular Inverse

Implement a function that returns the modular inverse of a modulo m, or -1 if it does not exist.

modular-arithmetic euclid math
+10 pts 15m
Math & Number Theory medium

Binomial Coefficient

Implement a function to compute binomial coefficients modulo 10^9+7 for n up to 10^5.

modular-arithmetic combinatorics dynamic-programming
+25 pts 25m
Bit Manipulation medium

Divide using shifts

Implement division of two integers using only bit shifts and arithmetic, without using division or modulo operators.

integer division bit shifts overflow
+20 pts 20m
Stacks & Queues medium

Sum of Subarray Minimums

Given an integer array, sum the minimum of all contiguous subarrays modulo 10^9+7.

stack array monotonic-stack
+30 pts 30m
Linked Lists medium

Rotate list left by k

Move the first k nodes to the end (k may exceed length; use modulo).

linked-list lists pointers
+22 pts 20m
Matrix & 2D Arrays medium

Shift 2D Grid

Implement a function to shift a 2D grid right by k positions, flattening the grid and wrapping elements.

grid list modulo
+20 pts 20m

Showing 1–16 of 16 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.