练习 21 Learn Python 3 The Hard Way

自从改成每天一个练习之后,我整个人都好了。我也因此明白了一个道理,计划不能定得太满,安排三个任务可能最后一个都完不成,自己也因为压力大各种拖延,而如果只安排一个,每天可以相对轻松地完成,会更容易坚持下去。(当然任务多少还要看自己实际情况,时间相对多一些的学生党就可以多安排一些,上班狗就量力而行吧。)

好了,进入正题。上节课我们学习了通过函数对文件进行一些打开、打印、回放的操作,练习 20 充满了各种函数、参数、变量,比较绕,觉得没有掌握好的童鞋可以先回去复习一下(练习 20 Learn Python 3 The Hard Way)。

今天我们学习练习 21,用函数做一些简单的四则运算。

练习 21 函数可以返回一些东西

这个练习我们会用 和一个新的 python 字符 -- 来把函数中的变量设置为一个值。先敲代码:

ex21.py

其实自己琢磨一下的话,很容易看明白这些代码做了什么。除了最后老肖故意给我们出的难题,前面就是简单的加减乘除运算。我们先重点看下第一个 函数中的 这步做了什么:

函数 包含 和 两个参数。

我们把 函数所做的事情打印出来,也就是 “ADDING”。

然后我们让 Python 返回 的和。

当函数终止以后,调用了这个函数的任何一行都能够将 的结果赋予一个变量,比如第 20 行,30+5 的结果就会被赋予 这个变量。

后面几个运算函数同理,如果你看不懂,慢点儿看。

最后一个嵌套计算其实也不难理解,把给了值的函数赋给几个变量之后,再对这几个变量用函数做一些加减乘除运算,可以自己在脑子里过一遍这个计算过程。

不知道有没有人跟我一样疑惑过,为什么第 31 行一行代码就输出了四行结果?因为它用到的每个函数在定义的时候都是要打印一下的,所以每调用一个运算的函数,就会打印一行它所做的运算内容。到第 33 行的时候这个嵌套公式的计算结果才在字符串中被打印出来。

你会看到练习 21 结果

附加练习

如果你还不能真正理解 是干什么的,试着写几个你自己的函数,并且让它们返回一些值。你可以让它 任何东西,只要你把它们放在 右边即可。(这个相信大家都能理解)

脚本的最后是一个难题。我在用一个函数的返回值作为另一个函数的参数,这是在一个链(chain)里面进行的,这样就用函数创建了一个公式。它看起来确实很难,但是如果你运行这个脚本,你就可以看到结果。你要做的就是试着弄明白创建同样操作的平常的函数是什么样的。(也就是把第 31 行换一种计算方式让它做同样的操作)

一旦你有了可以解出这个难题的公式,试着对函数的某些部分做做改动,看看会发生什么,或者有意改动一些数让它产生一些不同的值。

做相反的操作,写一个简单的公式,然后用同一种方式通过函数来计算它。(见常见问题 3 )

附加练习可能要动一些脑筋,不过动脑子解决问题的过程正是编程的魅力所在,所以用心去想,把它玩出花样来,学习的过程才会其乐无穷。

常见问题

为什么 python 是“从后往前”(backward)打印公式或者函数的?它其实不是从后往前,它是从里到外(inside out)。当你开始把代码打乱成分开的公式和函数时,你会看到它是如何工作的。试着理解我说的 “inside out” 而不是 “backward” 。(这个问题说的是第 31 行)

我如何使用 来输入我自己的值?还记得 吗?这样做的问题是你不能输入浮点数,所以试着用 来代替。

你说的“写一个公式”是什么意思?先试试 吧,变成使用函数来计算。然后自己想出一个类似的数学公式,要用变量让它看起来更像一个公式。

好了,今天就学到这儿吧,大家晚安啦~

好好学习|天天进步

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180130G1I5TO00?refer=cp_1026

同媒体快讯

相关快讯

扫码关注云+社区