10 Python Puzzles to Discover Your True Skill Level

Do you belong to the top 50% of Python coders? This article poses you 10 intermediate-level Python puzzles to test yourself. By solving all 10 Python puzzles and tracking your success rate, you will discover your exact Python skill level.

The Method We Used to Measure Your Skills with Python Puzzles

The idea of solving rated Python puzzles to measure your skill level is inspired by the Elo rating system in chess. Two chess players play against each other fighting for Elo rating points. If you have collected enough points, you can become a chess grandmaster. We applied this idea to Python coding: you play against the Python puzzle. If you solve it (=you win), you get points – but if you don’t, you lose points.

The Python puzzles and the test originate from our experience of teaching 23,464 online students at Finxter.com. (It’s free.)

You have read this far – you have skin in the game. Hereby, I officially challenge you to take the test and prove to yourself that you, indeed, belong to the top-50% of Python coders.

But first things first…

What is a Python Puzzle?

A Python puzzle is an educative snippet of Python source code that teaches a single computer science concept by activating the learner’s curiosity and involving them in the learning process.

Source: Coffee Break Python

Here’s a simple example of a beginner-level Python puzzle:

You can click on the puzzle to solve it on our interactive Finxter puzzle app.

How to Measure Your Python Skills with These 10 Python Puzzles?

Think about an experienced Python programmer you know, e.g., your nerdy colleague or classmate.

  • How good are their Python skills compared to yours?
  • On a scale from your grandmother to Bill Gates (yes, besides having a lot of money, he definitely is a master coder), where is your colleague and where are you?

These questions are difficult to answer because there is no simple way to measure the skill level of a programmer.

This creates a severe problem for your learning progress: the concept of being a good programmer becomes fuzzy and diluted. What you can’t measure, you can’t improve. Not being able to measure your coding skills diverts your focus from systematic improvement. Your goal becomes less definite.

Fortunately, you have found this article. In the following, you will solve 10 Python puzzles. Each Python puzzles ends with a print() statement.

The idea is that you play Python interpreter in your head: guess the output of the print() function.

  • If you guessed right, you get +1 point.
  • If you guessed wrong, you get +0 points.
  • If you made a minor syntactical mistake (you forgot whitespace, etc.), you get +0.5 points.

This method comes from the chess rating system. I have migrated it to coding for my free Python learning app Finxter.com.

Rule: The more points you earn by solving Python puzzles, the better your Python skills. In particular, here is the table for all outcomes (whole numbers only):

Points
EloRank
0 700 Novice
1860Basic Knowledge
21020Beginner
31180Autodidact
41340Scholar
51500Intermediate
61660Experienced
71820Professional
81980Expert
92140Master Candidate
102300Master

A final note: Read the code of each Python puzzle carefully, take your time (after all, your self-image is at stake).

So without any further introduction, let’s dive in the 10 Python puzzles.

10 Python Puzzles

Let’s get started with ten interactive Python puzzles. Solve each of them in your head before running it in the browser. Compare the output against what you’ve guessed it to be.

  • +1 Point for each correct guess.
  • +0.5 Point for a minor syntax error.
  • +0 Points for each wrong guess.

Ready? Set. Go!

Python Puzzle 1: String Basics

Python Puzzle 2: Function Magic

Python Puzzle 3: Social Network Analysis

Python Puzzle 4: Reddit Logic

Python Puzzle 5: Climate Change

Python Puzzle 6: The Healthiest Food in the World

Python Puzzle 7: More Healthy Foods for Coders

Python Puzzle 8: What’s Faster?

Python Puzzle 9: Factorial

Python Puzzle 10: Ducks

Do you have summed up all your points from the previous 10 questions? Great—in a moment I’ll tell you your skill level. But before we finish, let’s make it a bit more fun. I offer you a small gamble:

You can take your points and just go the end of the article and determine your skill level. Or you can go for the Bonus Puzzle 11. If you are lucky and you find the correct solution, you can win +1 point. If you aren’t, you will “win” -1 point. It’s that simple.

Bonus Puzzle

Ok, will you take the opportunity? Here it is…

Congratulations, you have solved all 10 (+1) Python puzzles! By doing so, you have already improved your Python coding skills. If you like this way of solving code puzzles to test and train your skills, visit my Python puzzle app Finxter.com.

So How Good Are Your Python Skills?

Sum up your total score and check your current skill level in the following table:

PointsEloRank
0 700 Novice
1860Basic Knowledge
21020Beginner
31180Autodidact
41340Scholar
51500Intermediate
61660Experienced
71820Professional
81980Expert
92140Master Candidate
102300Master

You can ignore the Elo column if you don’t know about the Elo rating system in chess. The rating of this table is entirely based on the Elo rating system which is a scientifically sound way of determining your skill level.

Are You Satisfied With Your Current Skill Level?

If not, there is no need to feel frustrated. It’s easy to level up your skills with a bit of training.

In fact, doing this will boost your value to the marketplace: Professional-level coders earn 2-5x more than beginner-level coders. Register for my Python email course to improve your Python skills on autopilot — in your daily coffee break. It’s free.


Do you want to be your own boss? Do you want to decide yourself when to work and when to spend time with your family? Becoming a Python freelancer may just be the idea you have been looking for. If you are serious about this, I have created a course just for you! I will take you by the hand, create an individualized training plan for you, and give you a clear path towards your goal. 

Become freelancer now…