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

Chinese Remainder Theorem

Solve a system of congruences with pairwise coprime moduli using the Chinese Remainder Theorem.

modular arithmetic crt coprime
+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
Datetime & Time Calculations easy

Days Between Dates

Write a function that returns the number of days between two given dates.

datetime date-arithmetic calendar
+10 pts 15m
Datetime & Time Calculations easy

Add Days to Date

Given a date in YYYY-MM-DD format and an integer number of days, return the resulting date in the same format.

datetime date arithmetic
+8 pts 10m
Datetime & Time Calculations easy

Age in years months days

Given birth and reference dates, return age as a dictionary with years, months, days.

datetime date arithmetic age calculation
+10 pts 15m
Datetime & Time Calculations easy

Time Difference HH:MM

Given two times in HH:MM format, return the absolute difference as a string in HH:MM format.

datetime time string
+10 pts 10m
Datetime & Time Calculations easy

Business days between

Calculate the number of business days (Mon-Fri) between two dates, inclusive of both endpoints.

datetime weekdays date-arithmetic
+10 pts 15m
Datetime & Time Calculations easy

Duration Human Readable

Write a function that turns a number of seconds into a human-readable duration like '2 hours, 1 minute'.

datetime strings formatting
+10 pts 15m
Datetime & Time Calculations easy

Month End Date

Implement a function that returns the last day of the month for a given year and month.

datetime calendar leap-year
+10 pts 15m
Numpy & Vectorized Computing easy

Mean of a vector

Return arithmetic mean or 0.0 when empty.

vectors arrays numpy-style
+10 pts 12m

Showing 25–35 of 35 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.