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# 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值