2.2 基本输入和输出

2.2.1 基本输入

2.2.1 基本输入

Python使用input()函数输入数据,其基本语法格式如下。

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

其中,变量和提示字符串均可省略。input()函数将用户输入的内容作为字符串返回。用户按【Enter】键结束输入,【Enter】键之前的全部字符均作为输入内容。指定变量时,变量将保存输入的字符串,示例代码如下。

>>> a=input(’请输入数据:')

请输入数据:'abc' 123,456 "python"

>>> a

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

如果需要输入整数或小数,则应使用int()或float()函数转换数据类型,示例代码如下。

>>> a=input(’请输入一个整数:')

请输入一个整数:5

>>> a              #输出a的值,可看到输出的是一个字符串

'5'

>>> a+1             #因为a中是一个字符串,试图执行加法运算,所以出错

Traceback (most recent call last):

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

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

>>> int(a)+1           #将字符串转换为整数再执行加法运算,执行成功

6

在输入数据时,可按【Ctrl+Z】组合键中断输入,如果输入了其他字符,此时【Ctrl+Z】和输入的内容将作为字符串返回;如果没有输入任何数据,则会产生EOFError异常,示例代码如下。

>>> a=input(’请输入数据:')     #有数据时,^Z作为输入数据,不会出错

请输入数据:1231abc^Z

>>> a

'1231abc\x1a'

>>> a=input(’请输入数据:')

请输入数据:^Z

Traceback (most recent call last):

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

EOFError

eval()函数可返回字符串的内容,即相当于去除字符串的引号,示例代码如下。

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

>>> a

123

>>> type(a)

<class 'int'>

>>> x=10

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

>>> a

30

在输入整数或小数时,可使用eval()函数来执行转换,示例代码如下。

>>> a=eval(input(’请输入一个整数或小数:'))

请输入一个整数或小数:12

>>> a

12

>>> type(a)

<class 'int'>

>>> a=eval(input(’请输入一个整数或小数:'))

请输入一个整数或小数:12.34

>>> a

12.34

>>> type(a)

<class 'float'>