![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=1739614785-xgfk2apGfndwbfOPCshhB6Gu5QxufTNd-0-a7ee78484b43310568082f04380143f1)
该代码段的执行过程如下:
- 首先,
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=1739614785-O5FpLvsIi77s1YWmJgBq9vzrYv7TU7Hm-0-2a7dcb50ec302ed5ea822402e2101c29)
input
函数始终返回一个字符串
下面的代码段试图读取两个数字并求和:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/056-2.jpg?sign=1739614785-ahkBYDlixWc9lnFEWDZDT1lJYOanasrr-0-8a63ad5fffea8c60870cc0217d150674)
结果不是整数7
和3
相加得到的10
,而是字符串'73'
,因为Python将字符串值'7'
和'3'
相加,得到字符串'73'
,这个过程称为字符串拼接。字符串拼接操作会将“+
”两端的操作数拼接在一起生成一个新的字符串。
从用户处获取一个整数
如果需要整数,要使用内置的int
函数将字符串转换为整数:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/056-3.jpg?sign=1739614785-vx0AGn03MCffW86Cy8rXOlmJ8X3ZMDGu-0-7efe0e291decae4e7f843a212dc85c11)
可以将代码段[10]
和[11]
组合到一起:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/056-4.jpg?sign=1739614785-AXGFvaTEoLkZ9iQ3rPi2mmoGDdYQ9yQD-0-60acf6fcec4cc4e43c4c4605524d4cd1)
变量value
和another_value
现在的值是整数。将它俩相加会得到整数结果(而不是拼接它们):
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/057-1.jpg?sign=1739614785-DzTzGF7Y9bl3svpxlNmy6jTdQA2n5ZXi-0-2ea5cda2e53b19aa0c2b71df08455eb2)
如果传递给int
的字符串无法转换为整数,则会引发ValueError
的错误:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/057-2.jpg?sign=1739614785-9GWk5oGWfZq4iTVoQtnvDRXo1F2HHKC6-0-c7a92dbf9c3d70435da08854d39f40b5)
int
函数也可以将浮点数转换为整数:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/057-3.jpg?sign=1739614785-vpSMoEnUjmjHKHIgAcOebg2gnj114azz-0-a0cdd7a711b1323e92537ca468356861)
要将字符串转换为浮点数,可以使用内置函数float
。