叢這節(jié)開始我們要恢復(fù)之前的腳步。我已經(jīng)出過很多打印相關(guān)的練習(xí),讓你習(xí)慣寫簡單的東西,但簡單的東西都有點(diǎn)無聊。我們現(xiàn)在要做的是把數(shù)據(jù)讀到你的程序里邊去。這可能對你有點(diǎn)難度,你可能一下子不明白,不過你需要相信我,無論如何把習(xí)題做了再說。只要做幾個(gè)練習(xí)你就明白了。
一般軟件做的事情主要就是下面幾條:
1.接收人的輸入. 2.改變輸入. 3.打印改變后的輸入值
到目前為止你只做了打印字符串,但還不會(huì)接收或者修改人的輸入。你也許還不知道“輸入(input)”是什么意思。但是在代碼中輸入這個(gè)單詞還是跟以前一樣的,所以閑話少說,我們還是開始做點(diǎn)練習(xí)看你能不能明白。下一個(gè)習(xí)題里邊我們會(huì)給你更多的解釋。
print "How old are you?",
age = raw_input()
print "How tall are you?",
height = raw_input()
print "How much do you weigh?",
weight = raw_input()
print "So, you're %r old, %r tall and %r heavy." % (
age, height, weight)
NOTE: 注意我在每行 print 后面加了個(gè)逗號(comma) ,了吧?這樣的話 print 就不會(huì)輸出新行符而結(jié)束這一行跑到下一行去了。
$ python ex11.py
How old are you? 38
How tall are you? 6'2"
How much do you weigh? 180lbs
So, you're '38' old, '6\'2"' tall and '180lbs' heavy.
1.上網(wǎng)查一下 Python 的 raw_input 實(shí)現(xiàn)的是什么功能。 2.你能找到它的別的用法嗎?測試一下你上網(wǎng)搜索到的例子。 3.用類似的格式再寫一段,把問題改成你自己的問題 4.結(jié)合轉(zhuǎn)義序列,想想為什么最后一行'6\'2"' 里邊有一個(gè)\' 序列。單引號需要被轉(zhuǎn)義,從而防止它被識別為字符串的結(jié)尾。有沒有注意到這一點(diǎn)?
這略微復(fù)雜一些,你可以試試用 x = int(raw_input()) 將通過 raw_input()獲得的字符串轉(zhuǎn)化成整數(shù)。
你應(yīng)該在你的終端里輸入,而不是把輸入值寫到 raw_input()的括號里。首先請檢查你的代碼是否和我提供的樣例一樣,然后執(zhí)行這個(gè)腳本,當(dāng)收到提示的時(shí)候,再輸入你的身高。
這樣做的目的是讓一行代碼少于 80 個(gè)字符,這是一種 Python 程序員喜歡的代碼風(fēng)格,如果你喜歡,你也可以把它們放在一行里。
在 Python 代碼里 input()方法將會(huì)改變你輸入的東西,但是這個(gè)方法存在安全問題,請盡量避免使用它。
在 Python 中用這種方式告訴你這是一個(gè) Unicode 編碼的字符串。用%s 格式可以讓你正常打印。