Solutions to Python Challenge (http://www.pythonchallenge.com/)