- Python程序设计:人工智能案例实践
- (美)保罗·戴特尔 哈维·戴特尔
- 502字
- 2021-08-13 17:17:00
2.6 从用户处获取输入
内置函数input
请求并获取用户的输入:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/055-7.jpg?sign=1739275660-TZvpdkFCcoABOAEJCGe03sQAVUb3aM0w-0-fe476c0291d98e89893bd6d719dc1c36)
该代码段的执行过程如下:
- 首先,
input
显示字符串参数作为提示,提示用户要键入的内容并等待用户响应。用户输入Paul
并按Enter键。代码段中使用粗体表示用户的输入以与提示文本相区别。 - 然后,
input
函数将这些字符作为一个字符串返回。上面的代码段将返回的字符串赋值给了变量name
。
代码段[2]
显示name
的值。评估name
时显示的值'Paul'
带有单引号,表示name
是一个字符串。打印name
时(在代码段[3]
中)则显示不带引号的字符串。如果输入引号,那么引号将成为字符串的一部分,如下:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/056-1.jpg?sign=1739275660-ZeMo6266MdZq14BtPv1j0Ogy6Imntmuh-0-4293d0361f1b0233a454d2fd2e4fc2d9)
input
函数始终返回一个字符串
下面的代码段试图读取两个数字并求和:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/056-2.jpg?sign=1739275660-vR9dYcUppSxUuoFkcbPyzu418ph4H9Tt-0-d44152e64aa112c00f485f8137ece97e)
结果不是整数7
和3
相加得到的10
,而是字符串'73'
,因为Python将字符串值'7'
和'3'
相加,得到字符串'73'
,这个过程称为字符串拼接。字符串拼接操作会将“+
”两端的操作数拼接在一起生成一个新的字符串。
从用户处获取一个整数
如果需要整数,要使用内置的int
函数将字符串转换为整数:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/056-3.jpg?sign=1739275660-G9mAeSXWVmVk54snj4rb7NsZPapM2ti7-0-8e3047c77a7bc25c73bda10517ca2dfc)
可以将代码段[10]
和[11]
组合到一起:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/056-4.jpg?sign=1739275660-evuRhw56X3Gug3zprnxhmCcjbvaLviHa-0-902b8c248fceefd742069bfead2dbda2)
变量value
和another_value
现在的值是整数。将它俩相加会得到整数结果(而不是拼接它们):
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/057-1.jpg?sign=1739275660-nogumy7QH6ptqnfy4yvaXs6CxW47Op8B-0-0321410950ee3a4a18b1fe20a1ba0d65)
如果传递给int
的字符串无法转换为整数,则会引发ValueError
的错误:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/057-2.jpg?sign=1739275660-zcdA3PdWJDaFKPjNzCTuUIrd3V7BrkaE-0-3c3bb873c1a447d24c98dafae69139e5)
int
函数也可以将浮点数转换为整数:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/057-3.jpg?sign=1739275660-WTAEPp0d5dnTE3hnNhDfruIRent1VQft-0-e736332239715208183524307683d1a8)
要将字符串转换为浮点数,可以使用内置函数float
。