When you typed raw_input() you were typing the ( and ) characters
which are parenthesis characters. This is similar to when you used them to do a
format with extra variables, as in "%s %s" % (x, y). For raw_input you
can also put in a prompt to show to a person so they know what to type. Put a
string that you want for the prompt inside the () so that it looks like
y = raw_input("Name? ")
This prompts the user with "Name?" and puts the result into the variable y.
This is how you ask someone a question and get their answer.
This means we can completely rewrite our previous exercise using just
raw_input to do all the prompting.
age = raw_input("How old are you? ")
height = raw_input("How tall are you? ")
weight = raw_input("How much do you weigh? ")
print "So, you're %r old, %r tall and %r heavy." % (
age, height, weight)
What You Should See
$ python ex12.py
How old are you? 38
How tall are you? 6'2"
How much do you weigh? 180lbs
So, you're '38' old, '6\'2"' tall and '180lbs' heavy.
- In Terminal where you normally run python to run your scripts,
type: pydoc raw_input. Read what it says. If you're on Windows try
python -m pydoc raw_input instead.
- Get out of pydoc by typing q to quit.
- Go look online for what the pydoc command does.
- Use pydoc to also read about open, file, os, and sys. It's alright if you
do not understand those, just read through and take notes about interesting
Common Student Questions
- How come I get SyntaxError: invalid syntax whenever I run pydoc?
- You aren't running pydoc from the command line, you're probably running
it from inside python. Exit out of python first.
- Why does my pydoc not pause like yours does?
- Sometimes if the help document is short enough to fit on one screen then
pydoc will just print it.
- When I run pydoc I get more is not recognized as an internal.
- Some versions of Windows do not have that command, which means pydoc
is broken for you. You can skip this extra credit and just search
online for Python documentation when you need it.
- Why would I use %r over %s?
- Remember %r is for debugging and is "raw representation" while
%s is for display. I will not answer this question again so you
must memorize this fact. This is the #1 thing people ask repeatedly,
and asking the same question over and over means you aren't taking the
time to memorize what you should. Stop now, and finally memorize this
- Why can't I do print "How old are you?" , raw_input()?
- You'd think that'd work, but Python doesn't recognize that as valid.
The only answer I can really give is, you just can't.