Python by example learning to program in 150 challenges - Lacey, Nichola (Cambridge University Press, 2020)