Both scripts will run, but give different results--perhaps more on that later.
In idle you have a couple different windows. One says "Python Shell" at the top, has some info about firewalls and a prompt >>>. This is where the results of running a script will show up (including where you would type in information to satisfy a request by raw_input(). If you don't see this window don't worry it will show up when run a script.
The other window(s) are the scripts themselves. The window name is the name of the script (once you save it) These windows have the Run menu at the top (F5 is the shortcut to the item in Run). If you don't see this window select 'New Window' under File.
You should type in the above script (there's no shame in copy/paste either) and save it somewhere you can find it later with an meaningful and creative name. Now you can run it with F5 or select the menu item. Another option under Run is Check module. This will do a simple check of program structure (indents, semi-colons and such).
When you run the script the prompts will be displayed (one at a time) and the script will continue after you type in the input and press return or enter. The results will print and the shell prompt (>>>) will come back. This is "running the script". The other possible outcome is a lot of red text telling you about an error in the script. The line number is the line of the script with the error. Occasionally the real error is earlier in the script and the displayed error is the just a consequence of that earlier programming error. This is "debugging" which is not as fun as running the script.
Now for the bonus: raw_input will take the text you type in and place it in a and b in turn. When you add (a+b) you are actually adding two strings as in '1'+'2' = '12'. input will try to eval() the input so text that is all numeric typed in at the prompt will be converted to a number and you'll get 1+2 = 3. But if you type in any text the eval() will try to find a function, variable or expression that matches what you've typed and will give an error if it can't. Try 1 for the first input and a for the second.
BTW: 32 and 31 should be dropped from the arguments to input().
Hopefully everything will click. If not, try another question with details of what's not working or what doesn't make sense.
Additional Info:
I guess I'm just confused but if you ran either of the two scripts in your question you wouldn't just get 32. I'm not trying to make it difficult for you. I just don't know what's not working right. If my rambling about idle was unnecessary then perfect! Let's concentrate on the scripts: raw_input and input are different functions with different behavior. Let's use raw_input. Raw_input inputs string's so to fix the script you need to cast the string's to int's so that adding them gives the expected results. One way to do this would be to replace the line that adds with:
c = int(a) + int(b)
Now, if creating proof that the script works is the issue then all you need to do is save your script as, say, add2.py, close the python shell window if it's open and press F5 in the editor window where the add2.py text is. This will re-open the shell, prompt for your inputs, and print the results. You can then save this window as a text file named, say, add2_output.txt. Or you could print both. Please tell me what I'm missing, what's not working.