solutions to http://www.pythonchallenge.com/ as I do them