Basic Calculator II
Evaluate a basic arithmetic expression with +, -, *, / following operator precedence.
Arithmetic Slices Count
Given a list of integers, count how many contiguous subarrays of length at least 3 form an arithmetic sequence.
Amicable Numbers Check
Write a function that checks if two numbers are an amicable pair by comparing sums of proper divisors.
Armstrong Number Check
Implement a function that checks if a given integer is an Armstrong number.
Multiply without multiply
Write a function that multiplies two integers using only addition, subtraction, and bit shifts — no * operator.
Zeller Congruence Weekday
Implement a function that returns the weekday name for a given date using Zeller's congruence.
Modular Inverse
Implement a function that returns the modular inverse of a modulo m, or -1 if it does not exist.
Chinese Remainder Theorem
Solve a system of congruences with pairwise coprime moduli using the Chinese Remainder Theorem.
Multinomial coefficient
Write a function to compute the multinomial coefficient efficiently for given nonnegative counts.
Binomial Coefficient
Implement a function to compute binomial coefficients modulo 10^9+7 for n up to 10^5.
Add without plus
Implement a function that adds two integers using only bitwise operations, no arithmetic plus or minus.
Divide using shifts
Implement division of two integers using only bit shifts and arithmetic, without using division or modulo operators.
Longest Arithmetic Subsequence
Given a list of integers, return the length of the longest arithmetic subsequence (constant difference) within it.
Evaluate Reverse Polish Notation
Evaluate an arithmetic expression written in reverse Polish notation using a stack.
Days Between Dates
Write a function that returns the number of days between two given dates.
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.
Age in years months days
Given birth and reference dates, return age as a dictionary with years, months, days.
Time Difference HH:MM
Given two times in HH:MM format, return the absolute difference as a string in HH:MM format.
Business days between
Calculate the number of business days (Mon-Fri) between two dates, inclusive of both endpoints.
Duration Human Readable
Write a function that turns a number of seconds into a human-readable duration like '2 hours, 1 minute'.
Julian Day Number Converter
Implement two functions to convert between Gregorian calendar dates and Julian Day Numbers using a standard formula.
Month End Date
Implement a function that returns the last day of the month for a given year and month.
Mean of a vector
Return arithmetic mean or 0.0 when empty.
Showing 25–47 of 47 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
- Pick a category — basics, algorithms, strings, and more
- Open a challenge, read the statement, and edit the starter code
- 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.