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
Datetime & Time Calculations easy

Leap Years in Range

Write a function that returns a list of all leap years between two given years, inclusive.

leap-year range datetime
+7 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

Unix timestamp to datetime

Write a function that returns a UTC datetime string from a Unix timestamp.

datetime unix-timestamp utc
+10 pts 15m
Datetime & Time Calculations easy

Datetime to Unix timestamp

Parse a datetime string and convert it to a Unix timestamp assuming UTC.

datetime parsing timestamp
+8 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

Next Weekday Finder

Write a function that returns the next weekday date after a given date.

datetime date weekday
+10 pts 12m
Datetime & Time Calculations easy

Previous Weekday Finder

Given a date, return the date of the immediately preceding weekday (Monday–Friday).

datetime date weekday
+10 pts 15m
Datetime & Time Calculations easy

Quarter from date

Compute the quarter (1-4) for a date string like '2023-07-15'.

datetime date parsing
+10 pts 10m
Datetime & Time Calculations easy

Week Number ISO

Given a date, return its ISO 8601 week number (1–53) without using datetime.isocalendar().

datetime iso date
+8 pts 12m
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

Schedule conflict check

Write a function that takes a list of time intervals and returns True if any two overlap.

datetime intervals overlap
+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
Datetime & Time Calculations easy

Month Start Date

Parse a date string and return the first day of its month in the same format.

datetime date-parsing formatting
+10 pts 10m
Datetime & Time Calculations easy

Daylight saving check

Given a date in the US, determine if daylight saving time starts or ends on that day.

datetime timezones dst
+8 pts 10m
Datetime & Time Calculations easy

Time Slot Generator

Generate a list of time slots of a specified duration within a start and end time.

datetime time scheduling
+8 pts 12m
Data Formats & Parsing easy

Parse Apache log line

Write a function that parses a single Apache access log line into a dictionary with IP, timestamp, request, status, and size.

parsing strings regex
+8 pts 10m
Cryptography & Hashing easy

Constant Time Compare

Write a function that compares two strings without leaking length or content via timing.

constant-time security comparison
+10 pts 15m
Cryptography & Hashing easy

Constant time compare

Write a function that compares two strings in constant time to avoid timing attacks.

timing-safe security strings
+8 pts 10m

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