There are several sites on the web which contain problems to be solved in various programming languages. Some are helpful for newcomers just learning the language, others are challenging for experienced programmers. Some are useful for practice before programming contests. Here is a list of some of these sites (please add more that you are aware of), along with sub-pages for solutions in python (multiple alternative solutions welcome) and commentary on approaches to the problems, ways to leverage Python and/or the standard library to solve problems, ways in which the problem changes depending on the language you use to solve it, etc.
Programming Challenges Companion site to the book of the same name. Has an automated system for submitting solutions in Java, but the problems statements work fine for Python.
Project Euler Mathematically-oriented problems. You can submit your answers (not the program) to be scored on the site, so any programming language can be used.
Python Challenge is a game in which each level can be solved by a bit of Python programming.
SPOJ (Sphere Online Judge) is an online judge system with a vast collection of algorithmic problems and supporting various languages (python included)
CodeChef is a place to practice and hone programming skills. It organizes monthly contests where participants solve problems in variety of languages (python is supported) and winners are rewarded handsomely.
The First 10 Prolog Programming Contests A set of advanced programming puzzles and problems. The problems come from the Prolog world as well, but can be solved in any language.
Google CodeJam 2008 problems A great set of challenging problems
Subpages for solutions and commentary:
|/99 Prolog Problems Solutions /Programming Challenges Solutions /Project Euler Solutions|