notes and solutions to Think Python, Allen Downey (2012)