W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
這節(jié)練習(xí)讓我們使用argv
和 raw_input
一起來向用戶提一些特別的問題。下一節(jié)習(xí)題你會學(xué)習(xí)如何讀寫文件,這節(jié)練習(xí)是下節(jié)的基礎(chǔ)。在這道習(xí)題里我們將用略微不同的方法使用 raw_input
,讓它打出一個簡單的 >
作為提示符。這和一些游戲中的方式類似,例如 Zork 或者 Adventure 這兩款游戲。
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)
我們將用戶提示符設(shè)置為變量 prompt
,這樣我們就不需要在每次用到 raw_input
時重復(fù)輸入提示用戶的字符了。而且如果你要將提示符修改成別的字串,你只要改一個位置就可以了。
是不是非常方便?
當(dāng)你運行這個腳本時,記住你需要把你的名字賦給這個腳本,讓 argv 參數(shù)接收到你的名稱。
$ 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?
> San Francisco
What kind of computer do you have?
> Tandy 1000
Alright, so you said 'Yes' about liking me.
You live in 'San Francisco'. Not sure where that is.
And you have a 'Tandy 1000' computer. Nice.
- 查一下 Zork 和 Adventure是兩個怎樣的游戲??纯茨懿荒芟螺d到一版,然后玩玩看。
- 將
prompt
變量改成完全不同的內(nèi)容再運行一遍。- 給你的腳本再添加一個參數(shù),讓你的程序用到這個參數(shù),像你在上一個練習(xí)中用到的解包操作
first, second = ARGV
。- 確認(rèn)你弄懂了三個引號
"""
可以定義多行字符串,而%
是字符串的格式化工具。
SyntaxError:invalid syntax
.重申一遍,你要在命令行里執(zhí)行腳本,而不是在Python的解釋器里。如果在python解析器里再輸入
python ex14.py Zed
一定會出錯的,因為你是在Python里運行Python腳本了。
prompt
的值?看到代碼的這句了么
prompt = '> '
,改變它的值就是讓你修改prompt
為一個不同 于>
的值,只是修改一個字符串而已,你已經(jīng)做過13個練習(xí)題,這次試試看自己解決這個問題。
need more than 1 value to unpack
.看看“你看到的結(jié)果”這部分,并且看看我是怎么運行腳本的。你應(yīng)該注意我是如何輸入命令的,為什么我輸入了一個命令行參數(shù)?
不要用IDLE,現(xiàn)在只用文本編輯器就夠了。
prompt
用雙引號嗎?當(dāng)然可以,盡管試試看。
name 'prompt' is not defined
.你可能是拼寫錯了prompt或者是丟掉了代碼的那一行。逐行對比下你和我的代碼那里不一樣。你遇到這類錯誤意味著你有拼寫錯誤或者你根本沒有定義這個變量。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: