![Python程序设计:人工智能案例实践](https://wfqqreader-1252317822.image.myqcloud.com/cover/423/39980423/b_39980423.jpg)
上QQ阅读APP看书,第一时间看更新
2.6 从用户处获取输入
内置函数input
请求并获取用户的输入:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/055-7.jpg?sign=1739281644-YcrwtsDuj2PjQQnR00Adr3CCmxyBVYuv-0-54471bdd4999207e22b359e3aa2c8376)
该代码段的执行过程如下:
- 首先,
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=1739281644-PN4dE8tx4UIMP8AWjEt7oO7Lq6QLB4CS-0-ace0dab11aba01d43cc2c4b765b1e585)
input
函数始终返回一个字符串
下面的代码段试图读取两个数字并求和:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/056-2.jpg?sign=1739281644-yHRKZ7iB0lyg02xItcOBDHZeVy7piB91-0-c2cfef8c5ae38444a63c0684c103a838)
结果不是整数7
和3
相加得到的10
,而是字符串'73'
,因为Python将字符串值'7'
和'3'
相加,得到字符串'73'
,这个过程称为字符串拼接。字符串拼接操作会将“+
”两端的操作数拼接在一起生成一个新的字符串。
从用户处获取一个整数
如果需要整数,要使用内置的int
函数将字符串转换为整数:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/056-3.jpg?sign=1739281644-KgZPGeOR6NMfS2Mwv1u5MKOiMhHwBWAg-0-ee7e199ac4408292172e0e0c42605a89)
可以将代码段[10]
和[11]
组合到一起:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/056-4.jpg?sign=1739281644-OlgSbXulxPF1haWYaJXdAZLXxynzBAhO-0-2a217ad5bdb279bc8ed702128a4b4de7)
变量value
和another_value
现在的值是整数。将它俩相加会得到整数结果(而不是拼接它们):
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/057-1.jpg?sign=1739281644-6X7E9vtYuKSQfQf3gRsaSQ9fMqSdDVIo-0-404af0a88e734dfeb8b44a0b5f4eedb0)
如果传递给int
的字符串无法转换为整数,则会引发ValueError
的错误:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/057-2.jpg?sign=1739281644-r7R6kxybJDJzDbSJQOjBsjGtKPfMDkP6-0-9860af1a18cf469a38de080a0fb29d53)
int
函数也可以将浮点数转换为整数:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/057-3.jpg?sign=1739281644-aUCLXkzKLIA7AMj6NIMueaEwQfVLgglR-0-7865ebf29b5e91632f87359a6b605573)
要将字符串转换为浮点数,可以使用内置函数float
。