![13873b6b292cefbee34530bf584e21bb.png](https://i-blog.csdnimg.cn/blog_migrate/a61aa42c67535810e1f2f8c5f95dd9cb.jpeg)
上一篇我们讲了Python的输出,这些都是我们在电脑里写好,然后输出到屏幕端的。这种情形显然远远不能满足我们的要求,我们希望跟电脑互动起来。
这节课我们来学习Python的输入,Python的输入函数是input(),它就是负责接收你的输入,再经过程序的处理,最后传递给print()函数进行输出的。
我们来看看下面的程序:
![ca9b7f04a1c8347082cb5af5dfe9beff.png](https://i-blog.csdnimg.cn/blog_migrate/ced98c25baf01e44251262ddff7edb8b.png)
用Jupyter是这样的:
![1c21dc2dce62560e78bc0b134d2c8e4a.png](https://i-blog.csdnimg.cn/blog_migrate/d1386831a32e916b8f302eabda8aa002.png)
程序中input()函数负责接收用户的输入,而input()里面用双引号包裹的是要显示给用户看的东西。当然,你也可以不显示,不过那样的程序人性化不够,在现实生活中不多见。
上面程序有个需要你格外去注意的问题
就是通过input()函数接收到的num并不是整型,也不是浮点型,因为它在第一个截图里显示的10是由单引号包裹的。
第009篇我们会专门用一个章节来介绍这种类型,叫做”字符串“,在Python中的类型表示为:str。我们可以用Python的一个内部函数type()来看一下num的类型:
![9f16a0b699ac9e17391e8497a1c36913.png](https://i-blog.csdnimg.cn/blog_migrate/43c6a6653b7b51d3a8e88e366ef62b94.png)
这当然不是我们想要的,我们希望num是个整型,这时候我们要用到另外一个内部函数int(),我们来看一下:
![dbaa0ec4abb90e49e1efc58e86c1bb62.png](https://i-blog.csdnimg.cn/blog_migrate/9e4db18e32f2f9e9dd6efacfe6f2cb0c.png)
看起来前后没有差别,我们让num加个数看看:
![740ce380c4c860a52dcdf766b2b7cc12.png](https://i-blog.csdnimg.cn/blog_migrate/1fc9d465f790ba16f690896eedea15c8.jpeg)
系统提示了一个错误,大体意思是说字符串只能跟字符串连接,而不是字符串跟整型。
说人话,就是num和数字3的类型不一致,他们俩不能结婚。
再看看通过int()函数转换后的程序:
![9c84e13fa61cf9dce9b68f1170438e07.png](https://i-blog.csdnimg.cn/blog_migrate/d07ce5428922348b6cdf81545c774222.png)
OK,我们找到了程序的BUG,并解决了它!是不是很棒?!
对应int()函数的还有一个浮点数转换函数float(),作用就是把字符串类型的数字转换成浮点数:
![97e69e47d5f1fd3dd280c4d396e03251.png](https://i-blog.csdnimg.cn/blog_migrate/361f7233f394bd7687a71fdb4db55fda.jpeg)
Python还有一个更神奇的函数叫做eval(),比int()和float()都强大。它的作用是把你输入的算术表达式直接计算出结果!
神奇不?我们来试试看:
![3055475875296491b3cd7cad46124240.png](https://i-blog.csdnimg.cn/blog_migrate/9b89cc9919d107b7ac22bc7688e7a582.png)
神不神奇?意不意外?这个函数能干嘛?你只需要加一点后续学习的一点循环和判断,就可以给孩子自动出题了!
那卖练习册的商家不是失业了吗?哦,这个不正是我们学习Python的动力所在嘛!
好了,我们的输入和输出函数都讲完了。你可以通过Jupyter不断地练习,我也会在后续的课程中不断地重复使用这几个函数,以便你能牢固地掌握这些知识。
下一节我们来讲外部包的导入,欢迎你持续关注。