笨办法学Python(三十一)

习题 31: 作出决定

这本书的上半部分你打印了一些东西,而且调用了函数,不过一切都是直线式进行的。你的脚本从最上面一行开始,一路运行到结束,但其中并没有决定程序流向的分支点。现在你已经学了 ifelse, 和 elif ,你就可以开始创建包含条件判断的脚本了。

上一个脚本中你写了一系列的简单提问测试。这节的脚本中,你将需要向用户提问,依据用户的答案来做出决定。把脚本写下来,多多鼓捣一阵子,看看它的工作原理是什么。

 1 print "You enter a dark room with two doors.  Do you go through door #1 or door #2?"
 2
 3 door = raw_input("> ")
 4
 5 if door == "1":
 6     print "There‘s a giant bear here eating a cheese cake.  What do you do?"
 7     print "1. Take the cake."
 8     print "2. Scream at the bear."
 9
10     bear = raw_input("> ")
11
12     if bear == "1":
13         print "The bear eats your face off.  Good job!"
14     elif bear == "2":
15         print "The bear eats your legs off.  Good job!"
16     else:
17         print "Well, doing %s is probably better.  Bear runs away." % bear
18
19 elif door == "2":
20     print "You stare into the endless abyss at Cthulhu‘s retina."
21     print "1. Blueberries."
22     print "2. Yellow jacket clothespins."
23     print "3. Understanding revolvers yelling melodies."
24
25     insanity = raw_input("> ")
26
27     if insanity == "1" or insanity == "2":
28         print "Your body survives powered by a mind of jello.  Good job!"
29     else:
30         print "The insanity rots your eyes into a pool of muck.  Good job!"
31
32 else:
33     print "You stumble around and fall on a knife and die.  Good job!"

这里的重点是你可以在“if 语句”内部再放一个“if 语句”。这是一个很强大的功能,可以用来创建嵌套(nested)的决定,其中的一个分支将引向另一个分支的子分支。

你需要理解 if 语句 包含 if 语句 的概念。做一下加分习题,这样你会确信自己真正理解了它们。

你应该看到的结果

我在玩一个小冒险游戏,我玩的水平不怎么好:

加分习题

  为游戏添加新的部分,改变玩家做决定的位置。尽自己的能力扩展这个游戏,不过别把游戏弄得太怪异了。

习题练习

时间: 2024-10-01 03:13:54

笨办法学Python(三十一)的相关文章

笨办法学Python(十一)

习题 11: 提问 我已经出过很多打印相关的练习,让你习惯写简单的东西,但简单的东西都有点无聊,现在该跟上脚步了.我们现在要做的是把数据读到你的程序里边去.这可能对你有点难度,你可能一下子不明白,不过你需要相信我,无论如何把习题做了再说.只要做几个练习你就明白了. 一般软件做的事情主要就是下面几条: 1. 接受人的输入. 2. 改变输入. 3. 打印出改变了的输入. 到目前为止你只做了打印,但还不会接受或者修改人的输入.你也许还不知道"输入(input)"是什么意思.所以闲话少说,我们

笨办法学Python 练习13和14

原题: 1 from sys import argv 2 3 script, first, second, third = argv 4 5 print "The script is called:", script 6 print "Your first variable is:", first 7 print "Your second variable is:", second 8 print "Your third variabl

笨办法学 Python (Learn Python The Hard Way)

最近在看:笨办法学 Python (Learn Python The Hard Way) Contents: 译者前言 前言:笨办法更简单 习题 0: 准备工作 习题 1: 第一个程序 习题 2: 注释和井号 习题 3: 数字和数学计算 习题 4: 变量(variable)和命名 习题 5: 更多的变量和打印 习题 6: 字符串(string)和文本 习题 7: 更多打印 习题 8: 打印,打印 习题 9: 打印,打印,打印 习题 10: 那是什么? 习题 11: 提问 习题 12: 提示别人

笨办法学Python(三十)

习题 30: Else 和 If 前一习题中你写了一些 "if 语句(if-statements)",并且试图猜出它们是什么,以及实现的是什么功能.在你继续学习之前,我给你解释一下上一节的加分习题的答案.上一节的加分习题你做过了吧,有没有? 你认为 if 对于它下一行的代码做了什么? If 语句为代码创建了一个所谓的"分支",就跟 RPG 游戏中的情节分支一样.if 语句告诉你的脚本:"如果这个布尔表达式为真,就运行接下来的代码,否则就跳过这一段.&quo

笨办法学Python(三十四)

习题 34: 访问列表的元素 列表的用处很大,但只有你能访问里边的内容时它才能发挥出作用来.你已经学会了按顺序读出列表的内容,但如果你要得到第 5 个元素该怎么办呢?你需要知道如何访问列表中的元素.访问第一个元素的方法是这样的: animals = ['bear', 'tiger', 'penguin', 'zebra'] bear = animals[0] 你定义一个 animals 的列表,然后你用 0 来获取第一个元素?! 这是怎么回事啊?因为数学里边就是这样,所以 Python 的列表也

笨办法学Python(二十一)

习题 21: 函数可以返回东西 你已经学过使用 = 给变量命名,以及将变量定义为某个数字或者字符串.接下来我们将让你见证更多奇迹.我们要演示给你的是如何使用 = 以及一个新的 Python 词汇return 来将变量设置为"一个函数的值".有一点你需要及其注意,不过我们暂且不讲,先撰写下面的脚本吧: 1 def add(a, b): 2 print "ADDING %d + %d" % (a, b) 3 return a + b 4 5 def subtract(a

笨办法学Python(三十二)

习题 32: 循环和列表 现在你应该有能力写更有趣的程序出来了.如果你能一直跟得上,你应该已经看出将"if 语句"和"布尔表达式"结合起来可以让程序作出一些智能化的事情. 然而,我们的程序还需要能很快地完成重复的事情.这节习题中我们将使用 for-loop (for 循环)来创建和打印出各种各样的列表.在做的过程中,你会逐渐明白它们是怎么回事.现在我不会告诉你,你需要自己找到答案. 在你开始使用 for 循环之前,你需要在某个位置存放循环的结果.最好的方法是使用列表

笨办法学Python(三十六)

习题 36: 设计和调试 现在你已经学会了"if 语句",我将给你一些使用"for 循环"和"while 循环"的规则,一面你日后碰到麻烦.我还会教你一些调试的小技巧,以便你能发现自己程序的问题.最后,你将需要设计一个和上节类似的小游戏,不过内容略有更改. If 语句的规则 每一个"if 语句"必须包含一个 else. 如果这个 else 永远都不应该被执行到,因为它本身没有任何意义,那你必须在 else 语句后面使用一个叫做

笨办法学Python(三十七)

习题 37: 复习各种符号 现在该复习你学过的符号和 python 关键字了,而且你在本节还会学到一些新的东西.我在这里所作的是将所有的 Python 符号和关键字列出来,这些都是值得掌握的重点. 在这节课中,你需要复习每一个关键字,从记忆中想起它的作用并且写下来,接着上网搜索它真正的功能.有些内容可能是无法搜索的,所以这对你可能有些难度,不过你还是需要坚持尝试. 如果你发现记忆中的内容有误,就在索引卡片上写下正确的定义,试着将自己的记忆纠正过来.如果你就是不知道它的定义,就把它也直接写下来,以