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

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

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

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

            習題 14: 提示和傳遞?

            讓我們使用 argvraw_input 一起來向用戶提一些特別的問題。下一節習題你會學習如何讀寫文件,這節練習是下節的基礎。在這道習題里我們將用略微不同的方法使用 raw_input,讓它打出一個簡單的 > 作為提示符。這和一些游戲中的方式類似,例如 Zork 或者 Adventure 這兩款游戲。

             1
             2
             3
             4
             5
             6
             7
             8
             9
            10
            11
            12
            13
            14
            15
            16
            17
            18
            19
            20
            21
            from sys import argv
            
            script, user_name = argv
            prompt = '> '
            
            print "Hi %s, I'm the %s script." % (user_name, script)
            print "I'd like to ask you a few questions."
            print "Do you like me %s?" % user_name
            likes = raw_input(prompt)
            
            print "Where do you live %s?" % user_name
            lives = raw_input(prompt)
            
            print "What kind of computer do you have?"
            computer = raw_input(prompt)
            
            print """
            Alright, so you said %r about liking me.
            You live in %r.  Not sure where that is.
            And you have a %r computer.  Nice.
            """ % (likes, lives, computer)
            

            我們將用戶提示符設置為變量 prompt,這樣我們就不需要在每次用到 raw_input 時重復輸入提示用戶的字符了。而且如果你要將提示符修改成別的字串,你只要改一個位置就可以了。

            非常順手吧。

            你應該看到的結果?

            當你運行這個腳本時,記住你需要把你的名字賦給這個腳本,讓 argv 參數接收到你的名稱。

            $ python ex14.py Zed
            Hi Zed, I'm the ex14.py script.
            I'd like to ask you a few questions.
            Do you like me Zed?
            > yes
            Where do you live Zed?
            > America
            What kind of computer do you have?
            > Tandy
            
            Alright, so you said 'yes' about liking me.
            You live in 'America'.  Not sure where that is.
            And you have a 'Tandy' computer.  Nice.
            

            加分習題?

            1. 查一下 Zork 和 Adventure 是兩個怎樣的游戲。 看看能不能下載到一版,然后玩玩看。
            2. prompt 變量改成完全不同的內容再運行一遍。
            3. 給你的腳本再添加一個參數,讓你的程序用到這個參數。
            4. 確認你弄懂了三個引號 """ 可以定義多行字符串,而 % 是字符串的格式化工具。

            Project Versions

            Table Of Contents

            Previous topic

            習題 13: 參數、解包、變量

            Next topic

            習題 15: 讀取文件

            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>

                      亚洲欧美在线