笨办法学Python(三十一)
习题 31: 作出决定
这本书的上半部分你打印了一些东西,而且调用了函数,不过一切都是直线式进行的。你的脚本从最上面一行开始,一路运行到结束,但其中并没有决定程序流向的分支点。现在你已经学了 if, else, 和 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 语句 的概念。做一下加分习题,这样你会确信自己真正理解了它们。