A Playground for Python

Not too long ago I was introduced to a website called Project Euler:

http://projecteuler.net/

Once you create an account on this website you are free to tackle hundreds of creative math puzzles. They are wonderful because they not only require solid mathematical analysis to solve, but also generally require one to write programs to perform the task at hand. The early problems are incredibly simple, but they get progressively harder as you go on; most of the latest problems look like complete gibberish to me. To solve these problems, I decided to go with Python as it is very simple and quick to develop with and it includes many useful features right out of the box like arbitrary precision arithmetic (a must for many Project Euler problems). Using python my solutions are generally no more than a mere 10-20 lines of code, but generally a fair amount of time is spent crafting those lines as I analyze the problem. Once a problem is complete, a forum thread opens up to you that is visible to all others who have solved it. This way, you can share your solutions with others around the world. Looking through these threads I find a variety of different languages being used: C, C++, python, Java, and others. Sometimes I find x86 assembly solutions (Those people must be a little insane). Overall however, this site was a wonderful way for me to program in Python with a more mathematical feel; I would suggest all of you to try it as well.

2 thoughts on “A Playground for Python

  1. really cool site! Thanks for posting. Now I’m addicted. It’d be a great tool for learning new languages too: once you master a problem in a language you know, try solving the same problem in a language you are trying to learn. I’m going to try that with Haskell.

  2. I checked out the site as well, and I found it very interesting. I believe a lot of us as engineers enjoy problem solving games such as this. I like how it encourages you to use your programming knowledge in order to create solutions for their puzzles which adds an extra level of difficulty depending on the puzzle. It is also a great idea to be able to share your solutions with others as you can see different ways of approaching the problem across different minds.

Leave a Reply

Your email address will not be published. Required fields are marked *