import antigravity
February 1, 2009 10:40 AM Subscribe
I'm learning Python for fun and need ideas for neat programs to write.
I know the basic features of the language pretty well, including some of the trickier stuff like list comprehension, but I don't know the standard library very well.
So that you can gauge my current level, I'll have you know that the most sophisticated thing I've written so far is an implementation of the game Reversi (aka Othello), including a simple AI, for which I am currently writing a GUI in wxPython (I didn't like Tkinter).
Not interested in learning Django (yet).
I used the challenges in Project Euler for a while -- I solved the first 25 -- and it was fun while I was still mastering the semantics of Python. But I've grown tired of them: the problems are increasingly complex mathematically, but relatively easy to implement once one grasps the appropriate algorithm. I also dabbled with Python Challenge.
I know the basic features of the language pretty well, including some of the trickier stuff like list comprehension, but I don't know the standard library very well.
So that you can gauge my current level, I'll have you know that the most sophisticated thing I've written so far is an implementation of the game Reversi (aka Othello), including a simple AI, for which I am currently writing a GUI in wxPython (I didn't like Tkinter).
Not interested in learning Django (yet).
I used the challenges in Project Euler for a while -- I solved the first 25 -- and it was fun while I was still mastering the semantics of Python. But I've grown tired of them: the problems are increasingly complex mathematically, but relatively easy to implement once one grasps the appropriate algorithm. I also dabbled with Python Challenge.
Best answer: Dave Thomson's Code Kata. Very practical real world problems to solve in bite sized chunks.
posted by fatbird at 10:51 AM on February 1, 2009 [1 favorite]
posted by fatbird at 10:51 AM on February 1, 2009 [1 favorite]
It's pretty fun to use the Obj. C bridge to write apps for OSX.
posted by plexi at 11:06 AM on February 1, 2009
posted by plexi at 11:06 AM on February 1, 2009
Best answer: Play with genetic algorithms a little bit - they never cease to amaze me. Try to evolve a certain image, or solve some other tricky problem.
Use an algorithm based on ant colonies to solve a travelling salesman problem.
posted by chrisamiller at 11:58 AM on February 1, 2009
Use an algorithm based on ant colonies to solve a travelling salesman problem.
posted by chrisamiller at 11:58 AM on February 1, 2009
Best answer: PyMOTW is great for learning standard libraries and Programming Collective Intelligence is a great book for getting started on some awesome ideas. All examples are in Python.
posted by swapspace at 1:18 PM on February 1, 2009
posted by swapspace at 1:18 PM on February 1, 2009
One of the most useful things to learn is to read files and manipulate data in them. If you have anything relevant to your life or your past projects in Excel or Matlab, try saving them as tabbed text files and do some 'data mining'. Log files can also be interesting. If the data contains natural language, at some point you'll need to learn regular expressions to find things. Regular expressions are un-pythonic, but very useful cross-language skill.
In any knowledge intensive work you'll meet tasks that need ripping information from many documents. It is good to have an intuition when the task could be automated with a clever python script.
posted by Free word order! at 2:08 PM on February 1, 2009
In any knowledge intensive work you'll meet tasks that need ripping information from many documents. It is good to have an intuition when the task could be automated with a clever python script.
posted by Free word order! at 2:08 PM on February 1, 2009
Best answer: You can get up to speed on visual stuff in Python quickly with Nodebox. It is a sexy way to immediately begin creating visual works using Python, including full support for python imports and other stuff. Nodebox focuses on 2D, at least in my experience. I don't think there is native 3D support (but here's a quick example of a guy who created a 3DPoint class).
posted by zpousman at 2:25 PM on February 1, 2009
posted by zpousman at 2:25 PM on February 1, 2009
I asked a similar question a while back relating to python and puzzles, maybe you'll find something that appeals to you, too.
posted by cowbellemoo at 7:56 PM on February 1, 2009
posted by cowbellemoo at 7:56 PM on February 1, 2009
This thread is closed to new comments.
posted by SpecialK at 10:42 AM on February 1, 2009