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.

Thanks to André Roberge, whose post about 99 Prolog Problems inspired this page. Further to that post, a project was started whose aim is to collect similar problems written as doctest for Crunchy.

99 Prolog Problems

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

CodeAbbey - place to study programming by solving problems. Not targeted to any specific language (but all tasks are tested with Python 3).

Practice Python is a weekly blog that posts beginner-level practice Python exercises (in Python 3) and posts solutions for them the next week.

Subpages for solutions and commentary:


ProblemSets (last edited 2014-01-30 14:41:47 by mprat)

Unable to edit the page? See the FrontPage for instructions.