Mathspp Blog

A blog dedicated to mathematics and programming!

This blog has a really interesting assortment of articles on mathematics and programming. You can use the tags to your right to find topics that interest you, or you may want to have a look at

You should also subscribe to the blog newsletter.

Usages of underscore | Pydon't 🐍

The purpose of this Pydon't is to show you what underscores are used for in Python, and to show you how to write more idiomatic code with them.

Problem #038 – bridges of Königsberg

You are on vacation and must find the most efficient way to cross all bridges. How will you do that?

The power of reduce | Pydon't 🐍

In this Pydon't we will take a look at the reduce function, which used to be a built-in function and is currently in the functools module.

Buffet of self-references

This article will twist and bend your mind a little bit, as we go over some interesting self-referential concepts and objects.

Boolean short-circuiting | Pydon't 🐍

In this Pydon't we explore what Boolean short-circuiting for the and and or operators is, and how to use this functionality to write more expressive code.

Problem #037 - game of coins

Alice and Bob sit across each other, ready for their game of coins. Who will emerge victorious?

Problem #036 - huge, tiny triangle

Can you find a really large triangle that is also really tiny?

Inner workings of sequence slicing | Pydon't 🐍

In this Pydon't we conclude the slicing trilogy and take a look at the inner workings of Python slicing, from the built-in slice type to the dunder method __getitem__ and its siblings.

Mastering sequence slicing | Pydon't 🐍

In this Pydon't we cover advanced topics related to sequence slicing, like (negative) steps, more idiomatic sequence slicing, slice assignment, and slice deletion.

Problem #035 – unknown coin sides

This is an algorithmic puzzle where you just have to turn some coins.

Neural networks fundamentals with Python – subtleties

In the fifth article of this short series we will be handling some subtleties that we overlooked in our experiment to classify handwritten digits from the MNIST dataset.

Idiomatic sequence slicing | Pydon't 🐍

This article covers the basics of sequence slicing in Python and teaches you some idiomatic slicing patterns to write more elegant code.

Sequence indexing | Pydon't 🐍

A short article with all you need to know about sequence indexing in Python – and a bit more.

Problem #034 – one question to happiness

Two doors, one gives you eternal happiness and the other eternal sadness. How can you pick the correct one?

Enumerate me | Pydon't 🐍

If you need to access the items of an iterable but also keep track of their indices, have you considered using enumerate? Let's talk about another of Python's amazing tools to work with for loops.

Problem #033 - syncro

Syncro is a beautiful game where you have to unite all the petals in a single flower. In how many moves can you do it?

Let's build a simple interpreter for APL - part 4

In part 4 of this series we add some unit testing, improve our tokenizer and implement the primitives ⍴ and ⍤.

Zip up | Pydon't 🐍

for loops are the bread and butter of imperative programming and Python has some really nice tools to work with them. If you want to traverse several structures in parallel, have you considered using zip?

Problem #032 - restaurant roundtable

A waiter at a restaurant gets a group's order completely wrong. Can you turn the table to get two or more orders right?