第四讲
输入、输出以及简单的计算器
前几次学习了一些基本知识,相信大家对于编程也有了一些了解,今天开始正式学习编程的相关知识,谢谢观看。
先看输入吧:
在python2中,输入有两种,分别是raw_input()和input()两个函数,前面的是输入一个字符串,接收任何字符的输入,但是后一个只接受数字的输入,当在python2中使用Ijnput函数时会报错,类型错误,这里只做说明,对于python2不做详细介绍,但是会提一下2和3版本的区别。
在python3中,输入使用input()函数,返回一个字符串类型,我们可以在程序中接收。
输出使用的是print()函数,这里和python2也有区别,在python2中,print 不需要括号,打印后面的数据,而python3中,print()成为了一个函数,接受传进去的参数,才能打印以及其他功能。
下面先做一个小实验,接收输入并且原样输出:
可见,我输入了一个你好,程序跟着输出了一个你好,具体代码如下:
input()作为一个输入函数,当程序执行到这个函数后,会在命令行停留等待,直到你输入之后敲回车或者直接敲回车输入空的数据才会执行下一句话。
而print()函数,接收到你的输入后,会将里面的数据输出,里面保存的什么类型就会输入什么类型。
如果我们想在输入时提示用户其他的信息呢?我们可以在input()函数里面加一个字符串,这样在我们输入时会提示我们需要输入的内容:
想要在输入时提示,我们只需要在input()函数里面加一个英文的引号(单引号双引号都可以,但是一定要配对,不能一单一双),引号里面的字符随意,可以是中文也可以是英文,然后我们运行程序时就会看到这个提示内容。
Python3的输入是字符串类型,哪怕我们输入的是一个数字,也是字符串类型的,如果我们想输入一个数字并且使用数字,我们就可以使用类型强制转换,如图:
运行结果是这样的:
输入数字后,我们先打印它的类型,然后强制转换类型,可以看到我们得到了一个数字类型的输入。
再看看输出吧:
简单吧,仅仅是一句话,我们便可以输出我们想要的东西,结果如下图:
有人会问,为什么上面输入时里面的print()里面没有引号,而这次有了?
因为上面的输入是使用了一个变量叫做TheInput存放了一个数据,我们去输出这个变量,当Python解释器遇见这种没有引号的名字时,会去上文寻找是否定义了这个变量,如果有就输出变量里面的值,如果没有就会报错并且终止程序运行。
如图。
如果写两个print()函数呢?
我们的代码里并没有换行符,而我们却分开了两行输出,为什么呢?
Python3的print()函数里面有个参数end,带默认值一个换行,所以会自动换行输出,如果我们想放在一行输出,可以这样写:
在我们的print()函数的输出内容的引号外边加一个: end=“”,意思就是说,这个print()打印完后不换行也不进行其他动作,可以认为就是我们输出内容的一个补充,而默认是补充一个换行,我们也可以写一个其他的字符,如:
说的通俗一点,我们在end=""的引号内部写什么,这个print()函数就会在尾部添加什么,默认是换行。
我们也可以进行格式输出一个指定变量:
这个程序的输出中,我们在引号内部使用%d去占位一个整形,然后引号外一个%符号,后面跟上我们的整形变量,即可完成将那个num输出到指定的位置,当然可以格式化输出很多变量:
当我们输出多个变量时,我们需要将这些变量用括号括起来,其他格式和输出一个时一样。
做一个简易的计算器吧:
首先我们需要了解一个函数:
eval()
这个函数是将字符串的引号去掉,这样说可能有点笼统,我们做个实验了解一下就知道了:
稍微一对比,我们大概就知道eval的作用了:将字符串的引号去掉,并且计算中间的表达式并返回。
这个大家知道怎么用的就行了。
先分析计算器吧,先写一下计算器的计算流程:
我们按照这个流程写一下程序:
我们先输入一个表达式,并且提示需要输入的内容,然后使用eval将这个字符串去掉引号并计算表达式的结果,并且用result去保存这个结果。
这里为什么我们要转换为字符串变量呢?因为计算的结果有时是整形有时是小数,所以直接转换成字符串,输出绝不会有问题。
-------------------华丽的分割线-----------------------------
今天就到这里吧,如果大家有不懂得欢迎留言咨询,谢谢观看!
如果觉得好的话,转发一下吧,谢谢O(∩_∩)O
领取专属 10元无门槛券
私享最新 技术干货