
上QQ阅读APP看书,第一时间看更新
2.6 从用户处获取输入
内置函数input
请求并获取用户的输入:

该代码段的执行过程如下:
- 首先,
input
显示字符串参数作为提示,提示用户要键入的内容并等待用户响应。用户输入Paul
并按Enter键。代码段中使用粗体表示用户的输入以与提示文本相区别。 - 然后,
input
函数将这些字符作为一个字符串返回。上面的代码段将返回的字符串赋值给了变量name
。
代码段[2]
显示name
的值。评估name
时显示的值'Paul'
带有单引号,表示name
是一个字符串。打印name
时(在代码段[3]
中)则显示不带引号的字符串。如果输入引号,那么引号将成为字符串的一部分,如下:

input
函数始终返回一个字符串
下面的代码段试图读取两个数字并求和:

结果不是整数7
和3
相加得到的10
,而是字符串'73'
,因为Python将字符串值'7'
和'3'
相加,得到字符串'73'
,这个过程称为字符串拼接。字符串拼接操作会将“+
”两端的操作数拼接在一起生成一个新的字符串。
从用户处获取一个整数
如果需要整数,要使用内置的int
函数将字符串转换为整数:

可以将代码段[10]
和[11]
组合到一起:

变量value
和another_value
现在的值是整数。将它俩相加会得到整数结果(而不是拼接它们):

如果传递给int
的字符串无法转换为整数,则会引发ValueError
的错误:

int
函数也可以将浮点数转换为整数:

要将字符串转换为浮点数,可以使用内置函数float
。