在以前的练习中,我们一直在打印和调用函数,所有的程序都是至上而下执行的。如果你写了一个函数,执行的时候需要你自己选择执行哪个分支,现在我们就可以用if,else和elif实现这。
上一个练习只是一些简单的问答集,下面的练习我们提出问题,并且由用户自己选择答案。
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 id probably better. Bear runs away." % bear
elif door == "2":
print "You 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 survies powered by a mind of jello. Good job!"
else:
print "The insanity rots your eyes into a pool of muck. Good job!"
else:
print "You stumble around and fall on a knife and die. Good job!"
这么代码的重点是if语句里面包含if语句,这种嵌套非常的强大和常用。
运行结果
root@he-desktop:~/mystuff# python ex31.py
You enter a dark room with two doors. Do you go through door #1 or door #2?
> 1
There's a giant bear here eating a cheese cake, What do you do?
1. Take the cake.
2. Scream at the bear.
> 1
The bear eats your face off. Good job!
root@he-desktop:~/mystuff# python ex31.py
You enter a dark room with two doors. Do you go through door #1 or door #2?
> 2
You stare into the endless abyss at Cthulhu's retina.
1. Blueberries.
2. Yellow jacket clothespins.
3. Understanding revolvers yelling melodies.
> 1
Your body survies powered by a mind of jello. Good job!
root@he-desktop:~/mystuff#
加分练习
扩展上面的游戏,添加一些新的判断。