《笨办法学Python》 第31课手记
《笨办法学Python》 第31课手记
本节课是一小段类似《龙与地下城》的游戏的代码,是if语句嵌套的深入,即嵌套的if语句中又出现嵌套的if语句。理论上可以嵌套许多层,至于上限是多少,暂不清楚。
原代码如下:
print "You enter a dark room with two doors. Do you go through door #1 or door #2?"
door = raw_input("> ")
if door == "1":
print "There's a giant bear here eating a cheese cake. What do you do?"
print "1. Take the cake."
print "2. Scream at the bear."
bear = raw_input("> ")
if bear == "1":
print "The bear eats your face off. Good job!"
elif bear== "2":
print "The bear eats your legs off. Good job!"
else:
print "Well,doing %s is probably better. Bear runs away." % bear
elif door == "2":
print "Your stare into the endless abyss at Cthulhu's retina."
print "1. Blueberries."
print "2. Yellow jacket clothespins."
print "3. Understanding revolvers yelling melodies."
insanity = raw_input("> ")
if insanity == "1" or insanity =="2":
print "Your body survives powered by a mind of jello. Good job!"
else:
print "The insanity rots your eyes into a pool of muck. Good job!"
else:
print"Your stumble around and fall on a knife and die. Good job!"
当用户输入的数字是1,2时结果如下(注意这里的1和2都是字符型数据,不是数值):
本节课涉及的知识:
根据这段代码的思路,自上而下先列一个选择分支草图,并在草图上画出各个动作,当你觉得分支足够多时,选择其中一个分支作为找到宝藏游戏胜利,其余分支均为死亡游戏结束。这样你就写出了一个自己的《龙与地下城》游戏。
仔细阅读常见问题解答,里面有判断一个数值是否属于某个范围的语法。