函数和文件
在上一课中我们主要学习了函数的输入,我们现在结合前面学到的关于文件的操作来写一些函数达到处理文件的功能。
在例一中,我们分别写出来两个函数,第一个函数是打印文件里所有内容,第二个函数是打印文件里的一行。两个函数的输入都是指向文件的变量,不同的是,第二个函数是一行一行打印。我们发现连续调用三次函数就可以按顺序打印文件中的三行内容,其原因在于程序对于文件的位置有一个隐藏变量来记住,当打印完一行后,那个变量就是指向新的一行,所以我们再次执行的时候,程序就会自动打印下一行。这也顺便解释了我们为什么要加入一行file.seek(0)的代码,还记得我们在 文件之小游戏存档 这一课使用过吗?
运行结果:
函数的输出
还是拿第三课 注释 中我们其实经给大家举了一个加法函数的例子,最后我们需要返回相加的结果,也就是说函数不仅可以接收变量加以处理,它其实还可以返回一些处理结果,供我们继续使用。我们在下面的例子中,给大家列举一个函数返回的例子:
首先,我们用定义一个函数,这个函数返回四个值,分别是两个数的加减乘除,我们用两种方式来接收函数的返回。注意到两个返回的打印结果还是有差异的,我们会在以后的课程中详细介绍。
运行结果:
练习题
1,为什么在例一中使用分行打印会出现间隔一行呢?上网搜索原因并解决问题。
2,给所有例一和例二中的函数添加注释
3,写一个函数,接收三个变量,返回前两个变量的和以及后两个变量的乘积。