鍍金池/ 教程/ Python/ exercise11.提問
附錄 A-練習(xí) 9:生成一個(gè)空文件(Touch, New-Item)
附錄 A-練習(xí) 10:復(fù)制文件 (cp)
exercise44.繼承 Vs.包含
附錄 A-練習(xí) 14:刪除文件 (rm)
附錄 A-練習(xí) 11:移動(dòng)文件 (mv)
exercise46.項(xiàng)目骨架
附錄 A-練習(xí) 3:如果你迷路了
exercise37.復(fù)習(xí)符號
exercise47.自動(dòng)化測試
exercise3.數(shù)字和數(shù)學(xué)計(jì)算
附錄 A-練習(xí) 1:安裝
exercise32.循環(huán)和列表
exercise31.做出決定
exercise42.對象、類、以及從屬關(guān)系
exercise48.更復(fù)雜的用戶輸入
下一步
簡介
附錄 A-練習(xí) 7:刪除路徑 (rmdir)
exercise49.寫代碼語句
exercise18.命名, 變量, 代碼, 函數(shù)
exercise12.提示別人
exercise14.提示和傳遞
exercise40.模塊, 類和對象
附錄 A-練習(xí) 12:查看文件 (less, MORE)
exercise9.打印, 打印, 打印
exercise13.參數(shù), 解包, 變量
exercise30. Else 和 If
exercise28. 布爾表達(dá)式
附錄 A-練習(xí) 4:創(chuàng)建一個(gè)路徑 (mkdir)
附錄 A-練習(xí) 15:退出命令行 (exit)
exercise25. 更多更多的練習(xí)
exercise6.字符串和文本
exercise2.注釋和井號“#”
exercise21. 函數(shù)的返回值
附錄 A-下一步
exercise1.第一個(gè)程序
exercise23. 閱讀代碼
附錄 A-練習(xí) 5:改變當(dāng)前路徑 (cd)
exercise17.更多文件操作
exercise24. 更多的練習(xí)
exercise19.函數(shù)和變量
exercise51.從瀏覽器獲取輸入
exercise22. 到目前為止你學(xué)到了什么?
exercise41.學(xué)會(huì)說面向?qū)ο?/span>
exercise52.開始你的 web 游戲
exercise20. 函數(shù)和文件
exercise15.讀文件
exercise45.你來制作一個(gè)游戲
exercise10.那是什么?
exercise8.打印, 打印
exercise35.分支和函數(shù)
exercise26. 恭喜你,可以進(jìn)行一次考試了
exercise33.while 循環(huán)
exercise29. IF 語句
exercise36.設(shè)計(jì)和調(diào)試
exercise0.安裝和準(zhǔn)備
exercise50.你的第一個(gè)網(wǎng)站
附錄 A-練習(xí) 2:路徑, 文件夾, 名錄 (pwd)
exercise38.列表操作
附錄 A-練習(xí) 6:列出當(dāng)前路徑 (ls)
exercise16.讀寫文件
exercise4.變量和命名
exercise34.訪問列表元素
exercise11.提問
exercise43.基本的面向?qū)ο蟮姆治龊驮O(shè)計(jì)
附錄 A-簡介
附錄 A-練習(xí) 8:目錄切換(pushd, popd)
來自老程序員的建議
exercise27. 記住邏輯
exercise5.更多的變量和打印
exercise7.更多的打?。ㄝ敵觯?/span>
附錄 A-練習(xí) 13:輸出文件 (cat)
exercise39.字典,可愛的字典

exercise11.提問

叢這節(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é)束這一行跑到下一行去了。

你看到的結(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)?

常見問題

Q:如何接收用戶輸入的數(shù)字,用來進(jìn)行數(shù)學(xué)計(jì)算?

這略微復(fù)雜一些,你可以試試用 x = int(raw_input()) 將通過 raw_input()獲得的字符串轉(zhuǎn)化成整數(shù)。

Q:我用 raw_input("6'2")輸入我的身高值,但是它沒有生效。

你應(yīng)該在你的終端里輸入,而不是把輸入值寫到 raw_input()的括號里。首先請檢查你的代碼是否和我提供的樣例一樣,然后執(zhí)行這個(gè)腳本,當(dāng)收到提示的時(shí)候,再輸入你的身高。

Q:為什么你在第 8 行代碼的時(shí)候換行了,而沒有讓這句代碼在一行上?

這樣做的目的是讓一行代碼少于 80 個(gè)字符,這是一種 Python 程序員喜歡的代碼風(fēng)格,如果你喜歡,你也可以把它們放在一行里。

Q:input() 和 raw_input()有什么區(qū)別?

在 Python 代碼里 input()方法將會(huì)改變你輸入的東西,但是這個(gè)方法存在安全問題,請盡量避免使用它。

Q:什么情況下我應(yīng)該在輸入的字符串前面加一個(gè) u, 比如 u'35'?

在 Python 中用這種方式告訴你這是一個(gè) Unicode 編碼的字符串。用%s 格式可以讓你正常打印。