Search for your answer first!

If you're having a problem, chances are good that someone else has had the same problem. Please search the forum for existing answers before starting a new thread. Nothing is more irritating to a long time member than to answer the same question for the umpteenth time because someone didn't use the forum's search feature.

Don't resurrect old threads!

Inevitably, if you use the search feature you'll stumble upon an interesting thread that you think you can add to. Resist the temptation to post until you've looked at the post date for the most recent post in that thread. It's possible that the thread is years old and you have no business bumping it to the top of the list. A thread is considered old after two months.

Let dead threads lie, don't post in them!

Create a meaningful title!

So you've searched and haven't found anything that fits your problem? Great! We can help, but you need to peak our interest with a thread title that briefly describes your problem. Many members browse the topic list and choose which threads to post in only by the title. Oh, and for future reference, "HELP!!!11" or any variation thereof does not describe your problem.

If you don't know what the problem is, create a title that tells us what you're trying to do. For example: "Convert a string to an integer".

Describe your problem clearly and fully!

So you have a great title and you're ready to compose a post. Resist the temptation to copy and paste your code and as an afterthought say "It doesn't work". That's not a description of the problem. If you want help, you have to give us enough information to work with. Include at least all of the following in your description of the problem:

1) An overview of what your program does.
2) The result of your current code.
3) What you expected your code to do.
4) The contents of any input files (if appropriate)

This tells us what context your program is in so that we can offer alternative solutions. It tells us exactly what your code does so that we can more easily pinpoint the problem without performing tedious troubleshooting steps. Finally, it tells us what you wanted your code to do so that we can compare what it does with what you wanted it to do. Most of the time, a knowledgeable member can answer your question almost immediately using just this information.

Keep the code short and sweet!

As much as we don't care, people insist on posting pages and pages of irrelevant code. Keep the code as short as possible. If the code isn't short, make it short by cutting out as much irrelevant code as possible. Ideally, we expect you to write a small test program that exhibits the problem you're having.

The benefit of this is twofold. First, you might end up solving the problem yourself. Second, if you can't solve the problem yourself, there's less code that we have to look at and the problem is more likely to jump out at us.

Use code tags!

There are two ways to wrap code in code tags. The easiest way to do this is to select all of your code and then click the # button on the message editor. This will automatically wrap the selected text in code tags. Without code tags, all leading whitespace will be removed from the code, so nicely formatted code ends up having no indentation. This makes the code very hard to read and many members will refuse to help you because they can't read your code.

Don't give away code!

You might feel inclined to help someone else. That's great! But don't solve the problem for them. Our goal is to help people to learn, and giving away answers doesn't achieve that goal. Naturally giving away the answer is a subjective thing, so just make sure that the person you help can't just take your code and turn it in for a grade. We want the people we help to do enough work to learn something meaningful.

The above came from the pen of Narue, and we at the Python forum liked it so much we simply stole it, all along the line "Imitation is the sincerest flattery."

A few more things:

Indentations are important with Python, don't screw them up with tabs.
IMHO, if your post will absolutely solve an old thread, resurrect it!
Mark threads as solved when they are solved or exhausted.
A good question is never stupid, so please ask.
Don't ask people to give code away.

commented: great +13
commented: Thank you! +11

Yes Tiger Goddess Narue can write (text sometimes as well as C/C++ which seems to be her mother tongue ;) ) The discription of [code] button could be updated. My preference is to push the button right before pasting so you can avoid tedious and error prone painting the region in edit box.

For simplified/prosaic version of similar post see my post linked in my signature.

P.S. Tiger Goddess? Don't you wonder where those teeth marks and scratches on C/C++ newbies come from

Yeah, good idea thanks to narue!