学完「多返回值、函数当值、递归、作用域」,动手做一做。
写 前后(数),同时返回前一个数和后一个数。
函数 前后(数)
返回 数 - 1, 数 + 1
设 前一个, 后一个 = 前后(10)
打印(前一个) # 9
打印(后一个) # 11
解析:函数一次返回两个值,左边也用两个名字按顺序接住。
把 双倍 函数装进变量,再通过变量调用它。
函数 双倍(数)
返回 数 * 2
设 工具 = 双倍
打印(工具(4)) # 8
解析:
工具现在指向双倍;函数可以像其他值一样保存在变量里。
写递归函数 从一加到(数),再写 汇报(数) 同时返回原数和总和;让 汇报(4) 得到 4 和 10。
函数 从一加到(数)
如果 数 <= 1
返回 1
返回 数 + 从一加到(数 - 1)
函数 汇报(数)
返回 数, 从一加到(数)
设 原数, 总和 = 汇报(4)
打印(原数) # 4
打印(总和) # 10
解析:
从一加到用停止条件结束递归;汇报再把输入和计算结果一次返回,合用了本节两个重点。
到示例索引的“函数后”继续:先读 06-自己造工具,再尝试给 08-连续相加 或 09-阶乘 加一个自己的调用。
下一课:列表