![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=1739242126-RDx4hHmxqFOxj06ZRjo89IstMKSBgNhg-0-9b75a4d23fd175b84efa30e2a313042d)
该代码段的执行过程如下:
- 首先,
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=1739242126-hON7kei3hidZhN3147Co71le6r1rvAmz-0-54c8c90138807c8f47c864f5938bdfdc)
input
函数始终返回一个字符串
下面的代码段试图读取两个数字并求和:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/056-2.jpg?sign=1739242126-5XUlTFZBGSIJlnIa4dqa1ysmKb6gX0qA-0-efec812ac04d1d889671cf6c8e861545)
结果不是整数7
和3
相加得到的10
,而是字符串'73'
,因为Python将字符串值'7'
和'3'
相加,得到字符串'73'
,这个过程称为字符串拼接。字符串拼接操作会将“+
”两端的操作数拼接在一起生成一个新的字符串。
从用户处获取一个整数
如果需要整数,要使用内置的int
函数将字符串转换为整数:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/056-3.jpg?sign=1739242126-vSx0D2uqhgqZfgppdUkT958RqDZ3vOKu-0-e597dd2b71676227b14481219d9bab66)
可以将代码段[10]
和[11]
组合到一起:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/056-4.jpg?sign=1739242126-DIjoSGGGS9S3RaAd9RLi3yL8ze7Ih7By-0-c33c52ae1c93b38c42f2c1f8b08257c8)
变量value
和another_value
现在的值是整数。将它俩相加会得到整数结果(而不是拼接它们):
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/057-1.jpg?sign=1739242126-C5xg60WDhdoAHNoHrWVKo7SpZVlpJCkw-0-3b892da61a94be9acfe7104a8fd665b2)
如果传递给int
的字符串无法转换为整数,则会引发ValueError
的错误:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/057-2.jpg?sign=1739242126-EP2rtb5kkgDaHI2wpj8B4LIuWz6dEb5B-0-9aef833abd97f6d81c47247fce91bcc1)
int
函数也可以将浮点数转换为整数:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/057-3.jpg?sign=1739242126-sEL0lxS9jyPXU6thdBvcecx0n6Bnv2z0-0-1c6b4e82adfe49328ffdc7e437323d7e)
要将字符串转换为浮点数,可以使用内置函数float
。