python 打印相關(guān)的問(wèn)答

2021-09-15 14:46 更新

練習(xí)11.提問(wèn)

叢這節(jié)開(kāi)始我們要恢復(fù)之前的腳步。我已經(jīng)出過(guò)很多打印相關(guān)的練習(xí),讓你習(xí)慣寫(xiě)簡(jiǎn)單的東西,但簡(jiǎn)單的東西都有點(diǎn)無(wú)聊。我們現(xiàn)在要做的是把數(shù)據(jù)讀到你的程序里邊去。這可能對(duì)你有點(diǎn)難度,你可能一下子不明白,不過(guò)你需要相信我,無(wú)論如何把習(xí)題做了再說(shuō)。只要做幾個(gè)練習(xí)你就明白了。

一般軟件做的事情主要就是下面幾條:

  1. 接收人的輸入.
  2. 改變輸入.
  3. 打印改變后的輸入值

到目前為止你只做了打印字符串,但還不會(huì)接收或者修改人的輸入。你也許還不知道“輸入(input)”是什么意思。但是在代碼中輸入這個(gè)單詞還是跟以前一樣的,所以閑話(huà)少說(shuō),我們還是開(kāi)始做點(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è)逗號(hào)(comma) ,了吧?這樣的話(huà) 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. 你能找到它的別的用法嗎?測(cè)試一下你上網(wǎng)搜索到的例子。
  3. 用類(lèi)似的格式再寫(xiě)一段,把問(wèn)題改成你自己的問(wèn)題
  4. 結(jié)合轉(zhuǎn)義序列,想想為什么最后一行'6\'2"' 里邊有一個(gè)\' 序列。單引號(hào)需要被轉(zhuǎn)義,從而防止它被識(shí)別為字符串的結(jié)尾。有沒(méi)有注意到這一點(diǎn)?

常見(jiàn)問(wèn)題

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

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

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

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

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

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

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

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

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

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

以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)