Source Code Getting Started Python Challenge Programming Contests Useless Python Images What is Python? Useless Python Supporters Python Tutorials Source Code Links Miscellaneous Links Mississippi Python Interest Group (MS PIGgie) Contact Us

The Python Challenge Awaits!

You think you're ready for a challenge, do you? Good, because this is the place! Demonstrate your Python mastery with one of the following Useless Challenges. Anything you can code is good enough for Useless Python (It should run, of course.), but the Useless Challenges are here to jog your creativity if you think you've run out of ideas. Solutions will be posted to Useless Python with this Python Challenge signature image: Ahh... accomplishment! to indicate the worthiness of the coder(s).

Some of these could be done by an inexperienced coder without causing a terminal brain lockup, but intermediate coders should find some food for though here, as well. Your code doesn't have to be the prettiest, the most efficient, the most Pythonic, or even the first solution to any Challenge. In fact, you can ask people for critiques and pointers, and give them the URL of your source here. Team hacking is encouraged!

If you can think of any interesting Challenges to add to the list, you are welcome to send them our way for posting on the list. Send solutions or new challenges to: Useless. Challenges on this page displaying the Python Challenge signature image have been solved and posted on Useless Python.

If you have already sent in a script that you feel solves one of the Challenges, let me know so you can be credited. And you do not have to be the first to solve any given Challenge. Any number of solutions may be submitted by anyone for any Challenge.

If you crave even more challenges, check out our programming contest problems/solutions. And just remember: Every problem solved with Python helps the Python world out a little bit more.

There are a few Challenges here that I think would make great collaborative projects and generate some lively discussions, especially on the Tutor List. And isn't it great for the Tutor Archives to have a record of people learning Python by doing really nifty things. We're well on the way to a snapshot of the software development cycle with this nifty collection of examples of how people really learn programming. Somebody should be able to squeeze a Master's thesis out of this stuff, at the very least! (Hey, waitaminute......)

What the images mean:
Image: Meaning:
Ahh... accomplishment! Challenge Solved!
Challenge Awaits! Unsolved Challenge!

Your Quest Is At Hand!
Status: Challenge:
Challenge Awaits!Write a script that converts simple PASCAL-code to Python-Code or vice-versa (for demonstration purpose). Could possibly be done with a couple of regular expressions ...?
Challenge Awaits!An app used to parse a cookie file for user viewing and editing. Feel free to add cool extras, like user-editable *hot lists* of cookies to filter or batch-process.
Ahh... accomplishment!This one was inspired by Donald Knuth's "Selected Papers on Computer Science". Here's the general idea: "The numbers sqrt(1), sqrt(2), ..., sqrt(50) are to be partitioned into two parts whose sum is nearly equal; find the best such partition you can, using less than 10 seconds of computer time."
Challenge Awaits!Visit the archive of scripts on CPAN (not the modules, unless you really aim to impress us) and re-write some of them in Python.
Challenge Awaits!Any script, application, servlet, etc. designed as a collaboration between two or more people.
Ahh... accomplishment!Python versions of software along the lines of SilkQuit. It keeps track of how long it's been since your last cigarette, the amount of money you've saved, the number of cigarettes you haven't smoked, and the amount of time you've added to your life expectancy (based on a rather tiny amount of user input, of course). This same concept could be applied to a wide variety of purposes other than quitting smoking, and those might qualify for this one.
Ahh... accomplishment!A way to give automated tests using either a web interface or the GUI of your choice. Command line is okay, as long as it's functional. The more meaningful the results report is, the better!
Challenge Awaits!Automate Useless Python! We need a way for people to post comments on other people's source, at the very least. It shouldn't have to keep track of comment threads, but should be simple, like a Post-It note of sorts.
Challenge Awaits!Automate Useless Python! It would also be nice for people to be able to upload source code files, add links to their sites, post Press Releases, etc. without making server security a big joke.
Challenge Awaits!Automate Useless Python! A variant on the comment idea, a form for drafting and sending an email to the author of a Useless source file.
Challenge Awaits!Automate Useless Python! Come up with a way for someone to post to the Tutor List and to read it as well. (The Tutor Archives might prove helpful.)
Challenge Awaits!Automate Useless Python! Here's a fun one! Come up with a way to generate the .html pages dynamically.
Ahh... accomplishment!Chat application that does not require a central server. Two clients on separate machines on the same network or on the Internet should be able to initiate chats with each other. For bonus points, the chat clients have a GUI front end and/or employ some simple form of encryption (Rot 13 or better).
Ahh... accomplishment!App opens a comma-delimited file with the first row consisting of field names and each following row consisting of one record per line (sample available for download) and performs one or more of the following actions (or any other interesting action): 1) sort the records alphabetically by one of its fields, 2) remove exact duplicate records, or 3) convert the file into a different format and save the converted file under a different name.
Ahh... accomplishment!App retrieves system or directory information of your choice on the operating system of your choice, parses the output, and generates a simple report from it. Print the report to stdout or to a file.
Ahh... accomplishment!Simple calculator app with a GUI front end.
Challenge Awaits!Simple personal finance tracking app. We're not talking about a commercial package here, so don't think you have to reverse-engineer Quicken.
Challenge Awaits!Simple personal organizer with some of the following features: address book, todo list, notes, common conversions, calendar, etc.
Ahh... accomplishment!CGI capable of any of the following: 1) user can browse a file from his/her computer and send a copy somewhere else, 2) accept user input and send it via email, 3) anything interesting at all.
Challenge Awaits!Web versions of any of the Useless Challenges.
Ahh... accomplishment!Artificial Intelligence program (doesn't have to pass the Turing test).
Challenge Awaits!Generate or parse an XML document.
Challenge Awaits!Extract email addresses from a text file containing more than just email addresses.
Ahh... accomplishment!A game of any kind.
Ahh... accomplishment!App that fetches a file from a remote web server and parses it in an interesting or useless way.
Challenge Awaits!An IDE (Integrated Development Environment) for Python!
Challenge Awaits!A KISS viewer.
Challenge Awaits!A Python equivalent to the Tk widget tour demo that starts when you install Tcl/Tk..
Challenge Awaits!A Python Beauty Contest. If a sister language can have an "obfuscation" contest, why should we not celebrate Python's elegance?

XHTML! by Rob Andrews