习题 12: 提示别人
当你键入 raw_input() 的时候,你需要键入 ( 和 ) 也就是“括号(parenthesis)”。这和你格式化输出两个以上变量时的情况有点类似,比如说 "%s %s" % (x, y) 里边就有括号。对于 raw_input 而言,你还可以让它显示出一个提示,从而告诉别人应该输入什么东西。你可以在 () 之间放入一个你想要作为提示的字符串,如下所示:
这句话会用 “Name?” 提示用户,然后将用户输入的结果赋值给变量 y。这就是我们提问用户并且得到答案的方式。
- 也就是说,我们的上一个练习可以使用 raw_input 重写一次。所有的提示都可以通过
- raw_input 实现。
| 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)
|
你应该看到的结果
$ python ex12.py
How old are you? 35
How tall are you? 6'2"
How much do you weight? 180lbs
So, you're '35' old, '6\'2"' tall and '180lbs' heavy.
$
加分习题
- 在命令行界面下运行你的程序,然后在命令行输入 pydoc raw_input 看它说了些什么。如果你用的是 Window,那就试一下 python -m pydoc raw_input 。
- 输入 q 退出 pydoc。
- 上网找一下 pydoc 命令是用来做什么的。
- 使用 pydoc 再看一下 open, file, os, 和 sys 的含义。看不懂没关系,只要通读一下,记下你觉得有意思的点就行了。
常见问题回答
- 运行 pydoc 时显示 SyntaxError: invalid syntax。
- 你没有从命令行运行 pydoc,很可能是从 python 里边运行的。退出 python 试试。
- 我的 pydoc 为什么不会暂停?
- 有时文档很短,一页屏幕就显示完了,这时 pydoc 就不会暂停。
- 运行 pydoc 是看到 more is not recognized as an internal。
- 有的版本 Windows 中没有这个命令,也就是说你没法用 pydoc 了。跳过这些加分习题,上网去搜索 Python 文档吧。
- %r 和 %s 该用哪个?
- 记住 %r 是 debug 专用,它显示的是原始表示出来的字符,而 %s 是为了显示给用户。这个问题以后我就不再回答了,你要牢牢记住。这个问题是人们重复问的最多的问题,如果同一个问题要问很多遍,那说明你没记住你该记住的东西。别问了,现在我要求你必须记住。
- 写成 print "How old are you?" , raw_input() 为什么不行?
- 你觉得可以,但 Python 不这么认为。我唯一能给你的答案是:这样就是不行。