习题 12: 提示别人

当你键入 raw_input() 的时候,你需要键入 () 也就是“括号(parenthesis)”。这和你格式化输出两个以上变量时的情况有点类似,比如说 "%s %s" % (x, y) 里边就有括号。对于 raw_input 而言,你还可以让它显示出一个提示,从而告诉别人应该输入什么东西。你可以在 () 之间放入一个你想要作为提示的字符串,如下所示:

y = raw_input("Name? ")

这句话会用 “Name?” 提示用户,然后将用户输入的结果赋值给变量 y。这就是我们提问用户并且得到答案的方式。

也就是说,我们的上一个练习可以使用 raw_input 重写一次。所有的提示都可以通过
raw_input 实现。
1
2
3
4
5
6
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.
$

加分习题

  1. 在命令行界面下运行你的程序,然后在命令行输入 pydoc raw_input 看它说了些什么。如果你用的是 Window,那就试一下 python -m pydoc raw_input
  2. 输入 q 退出 pydoc。
  3. 上网找一下 pydoc 命令是用来做什么的。
  4. 使用 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 不这么认为。我唯一能给你的答案是:这样就是不行。

Project Versions

Table Of Contents

Previous topic

习题 11: 提问

Next topic

习题 13: 参数、解包、变量

This Page