Source: https://megarban.perso.math.cnrs.fr/MPSI220212022/informatique_commune/TP1_Python_et_Pyzo.pdf