Learn Python The Hard Way学习(31) - 做出选择

在以前的练习中,我们一直在打印和调用函数,所有的程序都是至上而下执行的。如果你写了一个函数,执行的时候需要你自己选择执行哪个分支,现在我们就可以用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#

加分练习
扩展上面的游戏,添加一些新的判断。

你可能感兴趣的:(python)