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

2.2 基本輸入和輸出

2.2.1 基本輸入

2.2.1 基本輸入

Python使用input()函數(shù)輸入數(shù)據(jù),其基本語法格式如下。

變量=input(’提示字符串’)

其中,變量和提示字符串均可省略。input()函數(shù)將用戶輸入的內(nèi)容作為字符串返回。用戶按【Enter】鍵結(jié)束輸入,【Enter】鍵之前的全部字符均作為輸入內(nèi)容。指定變量時,變量將保存輸入的字符串,示例代碼如下。

>>> a=input(’請輸入數(shù)據(jù):')

請輸入數(shù)據(jù):'abc' 123,456 "python"

>>> a

'\'abc\' 123,456 "python"'

如果需要輸入整數(shù)或小數(shù),則應(yīng)使用int()或float()函數(shù)轉(zhuǎn)換數(shù)據(jù)類型,示例代碼如下。

>>> a=input(’請輸入一個整數(shù):')

請輸入一個整數(shù):5

>>> a              #輸出a的值,可看到輸出的是一個字符串

'5'

>>> a+1             #因為a中是一個字符串,試圖執(zhí)行加法運算,所以出錯

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: Can't convert 'int' object to str implicitly

>>> int(a)+1           #將字符串轉(zhuǎn)換為整數(shù)再執(zhí)行加法運算,執(zhí)行成功

6

在輸入數(shù)據(jù)時,可按【Ctrl+Z】組合鍵中斷輸入,如果輸入了其他字符,此時【Ctrl+Z】和輸入的內(nèi)容將作為字符串返回;如果沒有輸入任何數(shù)據(jù),則會產(chǎn)生EOFError異常,示例代碼如下。

>>> a=input(’請輸入數(shù)據(jù):')     #有數(shù)據(jù)時,^Z作為輸入數(shù)據(jù),不會出錯

請輸入數(shù)據(jù):1231abc^Z

>>> a

'1231abc\x1a'

>>> a=input(’請輸入數(shù)據(jù):')

請輸入數(shù)據(jù):^Z

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

EOFError

eval()函數(shù)可返回字符串的內(nèi)容,即相當(dāng)于去除字符串的引號,示例代碼如下。

>>> a=eval('123')         #等同于a=123

>>> a

123

>>> type(a)

<class 'int'>

>>> x=10

>>> a=eval('x+20')        #等同于a=x+20

>>> a

30

在輸入整數(shù)或小數(shù)時,可使用eval()函數(shù)來執(zhí)行轉(zhuǎn)換,示例代碼如下。

>>> a=eval(input(’請輸入一個整數(shù)或小數(shù):'))

請輸入一個整數(shù)或小數(shù):12

>>> a

12

>>> type(a)

<class 'int'>

>>> a=eval(input(’請輸入一個整數(shù)或小數(shù):'))

請輸入一個整數(shù)或小數(shù):12.34

>>> a

12.34

>>> type(a)

<class 'float'>

主站蜘蛛池模板: 河北省| 嫩江县| 吐鲁番市| 綦江县| 琼结县| 三原县| 越西县| 凤凰县| 宽甸| 潼南县| 房山区| 库车县| 蒲城县| 射阳县| 博乐市| 贺州市| 阳西县| 平湖市| 西吉县| 四会市| 如东县| 博白县| 社会| 神农架林区| 定日县| 北碚区| 梁河县| 翼城县| 商河县| 剑河县| 吴堡县| 宣化县| 六安市| 莆田市| 上思县| 平塘县| 通江县| 库车县| 南郑县| 香港 | 东源县|