Take the python challenge

python-challenge-level-1

It’s hard to believe that we haven’t covered this one before. If you enjoyed out Barcode challenges from last week, perhaps now is the time for you to take the Python Challenge. We made it through the first 18 levels about a year back but with a total of 33 levels we’re not even close to being finished.

This is an excellent opportunity to learn Python if you’ve never tried it, or test your skills if you’ve already got them. We’d suggest using IDLE which is available as part of the Python language download. Because Python is an interpreted language, IDLE allows you to try out each line of the code you are writing and add it to your program as you get different sections working.

The levels start out fairly easy and require some sniffing around, such as looking at the source code, and dissecting images with Python’s various libraries. As you pass each level, you will be granted access to the Python Challenge forums in order to see how others solved the level. By solving each level and then seeing what different solutions entail you grow your knowledge of the language and reinforce your understanding of how to use it.

24 thoughts on “Take the python challenge

  1. Yeah, but don’t do this if you are not a fan of riddles. Programming skills I’ve got in spades. Riddle skills I don’t got.

  2. Why Python ? why not C ? C would be much more related to hacks because it apply to uC and low level which needed in thought projects.

  3. Here’s a hint so as not to waste your time.
    Challenge No.5 includes a verbal riddle, that I’ll give away for two reasons:
    1) It Isn’t a python challenge, it’s totally unrelated to actual programming (except maybe a knowledge of terminology)
    2) It’s totally CRAP!
    Apparently the author thinks “Peak Hill” sounds enough like “pickle” to constitute a riddle. It doesn’t!

  4. when it said this is a good way to learn python i thought “hey cool lets do this” but
    i dont even understand the first level
    lol i know nothing about python

  5. I gotta say that IDLE kinda sucks… I use ActiveState Komodo edit, but eclipse with a python interpreter works just as well

  6. @therian Your comment about C would be a better language for hack a day….

    Use C to do the challenge. There is no requirement on “how” you find the answer.

    Better yet find a micro you like and do it in uP assembly.

    I used a shift register for one of them. Would have been just as easy to do it in asm.

  7. @Brad:

    If he couldn’t figure out that the challenges didn’t strictly require Python, I doubt he could solve them with C.

  8. @Randy:

    While I can understand you thoughts about puzzles not being the greatest way to teach programing, it does on the other hand make you think and to come up with solutions. More to the point, if you know a certain language fairly well, it will will exercise problem solving skills.

    Being able to look at abstract concepts and figure out a solution is pretty vital to being a decent programmer.

  9. I could only get through the first four before I lost interest… There are a lot of languages I use but those first four problems seemed easiest to solve in shell. What could be easier than using “tr” for problem 2? The first one was easiest to do with a calculator, “gp” is the one I use. The third problem can be easily solved using egrep and vim. The fourth is just a one-liner using curl and tr, although the “twist” he put in that one ended up wasting some time.

  10. @CH, I agree. The problems aren’t well defined, you simply do not know what you’re solving if it is abstract enough (peak hill and pickle?). I simply lost interest on problem 5.

  11. “Python is an interpreted language”

    There’s no such thing. Python is a language which is often run by an interpreter. There are also several compilers and more in the works.

  12. Thanks for the info, I have never really used Python before but have been told that it’s a great language for writing security applications, I’ll have a go at the riddle when I’m more proficient with the language

  13. I have been doing the “challenge” for the past few days. Yes, I have learned some new python and gotten some good exposure to some new modules. That said, the amount of learning python vs. spending time in a labyrinth of riddles (mostly just for the author’s apparent amusement at watching ants fry under a magnifying glass), I’d have to say it’s not a good method to teach or inspire programming in python at all. For my money, take the same challenges and pose them as direct questions and let interested programmers work on them I think the riddles aspect is a huge turnoff to most people – it’s 90% riddles and 10% programming. If that much.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s