![人工智能基础教程:Python篇(青少版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/783/26846783/b_26846783.jpg)
1.8 输入与输出
本节将介绍一下输入与输出,这里只是介绍在PyCharm的运行结果界面中的输入与输出,有关于涉及文件部分的输入与输出会在后文中介绍。下面先看看输入与输出的流程。带有输入与输出的程序执行过程如图1.16所示。
![](https://epubservercos.yuewen.com/EFD799/15289821505523106/epubprivate/OEBPS/Images/aa0346.jpg?sign=1738913006-zBzsYzZSn4KSGYY6eAX0mxZzIBVM9EWJ-0-bffb3290c050eff1404c60804904fc23)
图1.16 带有输入与输出的程序执行过程
1.8.1 输出
本章程序1.1用一个print函数输出Hello world,在这里我们详细谈谈输出语句。不知道你有没有发现,print函数总是会以一个不可见的“新一行”字符(\n)结尾,因此重复调用print将会在相互独立的一行中分别打印。为了防止这一现象,Python中的print函数可以通过end指定除换行以外的其他结尾。例如,可以通过end指定以空白结尾:
![](https://epubservercos.yuewen.com/EFD799/15289821505523106/epubprivate/OEBPS/Images/aa0347.jpg?sign=1738913006-R6JGi0DWqwNPbZq892ZaQQZOWmtMOBuk-0-9656eb8e8a8c53627146992f770c0d52)
输出:
![](https://epubservercos.yuewen.com/EFD799/15289821505523106/epubprivate/OEBPS/Images/aa0348.jpg?sign=1738913006-ZMvnKPQvSgmQtrjuO0ErdQkU8h4DnIeW-0-0a8051e1cfc14559a58d392fe60e2ce3)
1.8.2 输入
对应输出,Python也提供了一种输入机制,也就是input函数,它可以接收我们从键盘输入的内容,把值存入变量中。另外,input函数的参数可以设置为当用户进行输入之前要显示的信息,如input("please input some num.")这种形式。
一旦用户按下Enter键,表示输入完成并退出函数。
注意:
程序接收到输入的内容是字符型的。
下面使用一个程序来熟悉一下我们学过的一些语法。这是一个编程实现简单计算器的程序,程序接收两个操作数和一个操作符并将计算结果输出。
程序1.3 简单的计算器:
![](https://epubservercos.yuewen.com/EFD799/15289821505523106/epubprivate/OEBPS/Images/aa0349.jpg?sign=1738913006-mJfvgbcAA9wEojNOnaloH2TOtY80oSok-0-5d7b7c5f15426a8cc19171e03173db9a)
输出:
![](https://epubservercos.yuewen.com/EFD799/15289821505523106/epubprivate/OEBPS/Images/aa0350.jpg?sign=1738913006-ZeSP4gmfD6nvttgQwhdqXMUEviXv32xn-0-502339639ef1213bdadaff24f4aaad35)
分析:
首先,程序1.3仅仅用于演示,它是一个很不完善的程序,如果你的操作数输入不是数字的话程序将会崩溃。
程序前3行用于接收用户的输入,每次输入完成按Enter键结束输入,输出前3行为用户从键盘输入要运算的数值,输入的数值字体为斜体,如程序1.3中的输出结果所示。由于操作数是整型,而input函数对接收输入内容返回的是字符串类型,因此我们用一个int函数将其类型转换成整型。程序的5~8行使用了三元运算符来判断操作符并选出对应操作符的具体操作。
最后,注意第10行的输出语句,这就是我们上文中提到的使用format方法来从其他信息中构建字符串。在这个字符串中的{0}将会被format的第一个参数代替。若是有两个参数如何做呢?例如,在程序输出结果中我们要输出操作数x, y:
![](https://epubservercos.yuewen.com/EFD799/15289821505523106/epubprivate/OEBPS/Images/aa0351.jpg?sign=1738913006-ApHu4dcpLFRN5sIef6NAeINBrFFhdnGQ-0-f39b37b05450d00759fe3dc241e83af6)
注意:
使用format方法明了而且不容易出错,但是一定记住Python是从0开始计数,即索引中的第一位是0,第二位是1,以此类推。
警告:
缩进(各行开头的空白区,用4个空格表示)在Python中非常重要,它用于确定语句的分组。放置在一起的语句必须拥有相同的缩进。每一组这样的语句被称为“块”。在本书的后文中会了解块这一概念的重要性。如程序1.3的前3行如果写成:
![](https://epubservercos.yuewen.com/EFD799/15289821505523106/epubprivate/OEBPS/Images/aa0352.jpg?sign=1738913006-XXyKw5W2VRJfZHTtFqbapUGkP17Dlywz-0-db729295712385c19637e1920ca1e2c0)
这时程序会报错:
![](https://epubservercos.yuewen.com/EFD799/15289821505523106/epubprivate/OEBPS/Images/aa0353.jpg?sign=1738913006-FtQE03VuWRBWrdxRQPIH8tPtXn3dfkIj-0-6dd7b18bf60e06af04f548a8f78e2f2b)
Python指出的错误信息告诉我们这个程序的语法是无效的。有关使用新块的情况后文会提到。如果我们使用PyCharm编写程序的话,它会自动处理缩进。