习题 14: 提示和传递?

让我们使用 argvraw_input 一起来向用户提一些特别的问题。下一节习题你会学习如何读写文件,这节练习是下节的基础。在这道习题里我们将用略微不同的方法使用 raw_input,让它打出一个简单的 > 作为提示符。这和一些游戏中的方式类似,例如 Zork 或者 Adventure 这两款游戏。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
from sys import argv

script, user_name = argv
prompt = '> '

print "Hi %s, I'm the %s script." % (user_name, script)
print "I'd like to ask you a few questions."
print "Do you like me %s?" % user_name
likes = raw_input(prompt)

print "Where do you live %s?" % user_name
lives = raw_input(prompt)

print "What kind of computer do you have?"
computer = raw_input(prompt)

print """
Alright, so you said %r about liking me.
You live in %r.  Not sure where that is.
And you have a %r computer.  Nice.
""" % (likes, lives, computer)

我们将用户提示符设置为变量 prompt,这样我们就不需要在每次用到 raw_input 时重复输入提示用户的字符了。而且如果你要将提示符修改成别的字串,你只要改一个位置就可以了。

非常顺手吧。

你应该看到的结果?

当你运行这个脚本时,记住你需要把你的名字赋给这个脚本,让 argv 参数接收到你的名称。

$ python ex14.py Zed
Hi Zed, I'm the ex14.py script.
I'd like to ask you a few questions.
Do you like me Zed?
> yes
Where do you live Zed?
> America
What kind of computer do you have?
> Tandy

Alright, so you said 'yes' about liking me.
You live in 'America'.  Not sure where that is.
And you have a 'Tandy' computer.  Nice.

加分习题?

  1. 查一下 Zork 和 Adventure 是两个怎样的游戏。 看看能不能下载到一版,然后玩玩看。
  2. prompt 变量改成完全不同的内容再运行一遍。
  3. 给你的脚本再添加一个参数,让你的程序用到这个参数。
  4. 确认你弄懂了三个引号 """ 可以定义多行字符串,而 % 是字符串的格式化工具。

Project Versions

Table Of Contents

Previous topic

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

Next topic

习题 15: 读取文件

This Page

送钱的时时彩平台 时时彩伯爵2平台 购买赌博软件专庄家 网上赌时时彩违法吗 时时彩计划软件哪个准
最新开的时时彩平台 谁能解冻时时彩账户 江西时时彩组三走势图 时时彩软件混合组选 时时彩代理返点12.5
诺亚时时彩平台是真的吗 时时彩怎么买中奖率高 时时彩数学计算公式 重庆时时彩玩到几点 皇冠时时彩平台网址
黑客时时彩破解软件 大中华时时彩平台 江西时时彩多久开一期 重庆时时彩怎样注册 手机购买时时彩
贵州11选5开奖结果今天 贵州11选5预测号 2008年香港六合彩资料 湖北十一选五前三直开奖结果查询 赌博默示录第二季
时时彩 内蒙古快3形态走势一定牛 深圳风采单式开奖查询 平凡的世界txt下载 北京pk拾历史开奖记录
河南快3下栽 河南快三网购 11选5倍投计划 重庆时时彩平台出租 彩票走势网首页
新浪彩票 七乐彩走势图 辽宁省11选5走势图 天津快乐十分走势图 三分彩定胆技巧