exercises from python the hard way