Python exercises from http://www.practicepython.org/