官术网_书友最值得收藏!

1.8.4 input結(jié)果的類(lèi)型

前面這個(gè)輸出結(jié)果可能不盡如人意,因?yàn)樗](méi)有告訴我們1 + 2等于幾。這是因?yàn)閕nput會(huì)將用戶(hù)的任何輸入都原樣轉(zhuǎn)換成字符串。1 + 2被轉(zhuǎn)換成“1 + 2”,當(dāng)然不會(huì)計(jì)算出什么結(jié)果。如果想要計(jì)算結(jié)果,還得對(duì)程序做一些處理。西西船長(zhǎng)說(shuō)著,又創(chuàng)建了另一個(gè)程序,保存在C:\Workspace\1.8\in_out.py,代碼如下:


#用戶(hù)輸入
x=int(input("hello,我是kiri,請(qǐng)輸入一個(gè)整數(shù)。(按回車(chē)鍵發(fā)送): "))
y=int(input("hello,我是kiri,請(qǐng)?jiān)佥斎胍粋€(gè)整數(shù)。(按回車(chē)鍵發(fā)送): "))

print("%d+%d的結(jié)果是%d:"%(x,y,x+y))

int()方法的括號(hào)把整個(gè)input()部分都包含在內(nèi),它表示把input()獲取到的用戶(hù)輸入轉(zhuǎn)換成整數(shù)類(lèi)型,然后再將這個(gè)整數(shù)賦值給變量x。同樣的,把另一個(gè)用戶(hù)的輸入轉(zhuǎn)換成整數(shù),再賦值給y。這樣,在print()中的x + y就會(huì)計(jì)算兩個(gè)整數(shù)的和了。

運(yùn)行程序,結(jié)果如圖1-22所示。

圖1-22 將用戶(hù)輸入的內(nèi)容進(jìn)行類(lèi)型轉(zhuǎn)換

需要注意的是,input()的結(jié)果是字符串,而字符串并不能轉(zhuǎn)換成所有類(lèi)型。比如,如果用戶(hù)不按照提示信息來(lái)輸入,可能會(huì)出現(xiàn)錯(cuò)誤。


hello,我是kiri,請(qǐng)輸入一個(gè)整數(shù)。(按回車(chē)鍵發(fā)送): 我偏不
Traceback (most recent call last):
    File "C:\Workspace\1.8\in_out.py", line 2, in <module>
        x=int(input("hello,我是kiri,請(qǐng)輸入一個(gè)整數(shù)。(按回車(chē)鍵發(fā)送): "))
ValueError: invalid literal for int() with base 10: '我偏不'

IDLE會(huì)告訴你“我偏不”這個(gè)字符串無(wú)法被int()轉(zhuǎn)換。

【練一練】

讓用戶(hù)輸入一個(gè)代表金額的數(shù)字,然后將它格式化并輸出,要求以“RMB”字符串開(kāi)頭,左對(duì)齊,保留2位小數(shù)。

?

主站蜘蛛池模板: 双牌县| 临江市| 宜兰县| 通辽市| 上高县| 资阳市| 四子王旗| 乌拉特中旗| 于田县| 扎赉特旗| 海宁市| 楚雄市| 榆社县| 柳林县| 阿巴嘎旗| 南平市| 莲花县| 虹口区| 大余县| 孟津县| 会昌县| 达拉特旗| 大同县| 翁牛特旗| 寿光市| 沙洋县| 潞西市| 孟村| 海原县| 望城县| 松原市| 志丹县| 宣恩县| 新绛县| 大埔县| 宁海县| 自贡市| 尼玛县| 珲春市| 屯昌县| 平乡县|