<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>

            習題 31: 作出決定?

            這本書的上半部分你打印了一些東西,而且調用了函數,不過一切都是直線式進行的。你的腳本從最上面一行開始,一路運行到結束,但其中并沒有決定程序流向的分支點。現在你已經學了 if, else, 和 elif ,你就可以開始創建包含條件判斷的腳本了。

            上一個腳本中你寫了一系列的簡單提問測試。這節的腳本中,你將需要向用戶提問,依據用戶的答案來做出決定。把腳本寫下來,多多鼓搗一陣子,看看它的工作原理是什么。

             1
             2
             3
             4
             5
             6
             7
             8
             9
            10
            11
            12
            13
            14
            15
            16
            17
            18
            19
            20
            21
            22
            23
            24
            25
            26
            27
            28
            29
            30
            31
            32
            33
            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 "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 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 "You stumble around and fall on a knife and die.  Good job!"
            

            這里的重點是你可以在“if 語句”內部再放一個“if 語句”。這是一個很強大的功能,可以用來創建嵌套(nested)的決定,其中的一個分支將引向另一個分支的子分支。

            你需要理解 if 語句 包含 if 語句 的概念。做一下加分習題,這樣你會確信自己真正理解了它們。

            你應該看到的結果?

            我在玩一個小冒險游戲,我玩的水平不怎么好:

            $ 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.
            > 2
            The bear eats your legs off.  Good job!
            
            $ 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!
            
            $ 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 Cthuhlu's retina.
            1. Blueberries.
            2. Yellow jacket clothespins.
            3. Understanding revolvers yelling melodies.
            > 1
            Your body survives powered by a mind of jello.  Good job!
            
            $ 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 Cthuhlu's retina.
            1. Blueberries.
            2. Yellow jacket clothespins.
            3. Understanding revolvers yelling melodies.
            > 3
            The insanity rots your eyes into a pool of muck.  Good job!
            
            $ python ex31.py 
            You enter a dark room with two doors.  Do you go through door #1 or door #2?
            > stuff
            You stumble around and fall on a knife and die.  Good job!
            
            $ 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.
            > apples
            Well, doing apples is probably better.  Bear runs away.
            

            加分習題?

            為游戲添加新的部分,改變玩家做決定的位置。盡自己的能力擴展這個游戲,不過別把游戲弄得太怪異了。

            Project Versions

            Table Of Contents

            Previous topic

            習題 30: Else 和 If

            Next topic

            習題 32: 循環和列表

            This Page

            <span id="7ztzv"></span>
            <sub id="7ztzv"></sub>

            <span id="7ztzv"></span><form id="7ztzv"></form>

            <span id="7ztzv"></span>

                  <address id="7ztzv"></address>

                      亚洲欧美在线