既然涉及到了函数,又涉及到了循环,那么就肯定会离不开函数中一个非常有趣的一个函数,叫做递归函数

    引用来自:a_ningning

    通常我们讲递归,也会拿俄罗斯套娃举例子,是一种大娃娃套小娃娃的玩具(如图1.1),娃娃里面又包含了一个娃娃, 和我们上面讲的故事很像,故事里面包含着这个故事,讲下去无穷无尽停不下来。

    20190620124646962 (1).gif

    那“递归函数”呢就是:函数自己直接或间接调用自己本身有没有感觉到递归和循环很像呢,都是一直在重复,但我们不能让它一直重复下去,我们必须要给程序一个停止积木,在适当的时候停止这个循环。

    现在分别利用循环和递归来实现同一个小程序,让小猫从1说到10,看下有何不同
    block_2021_12_29-下午3_19_35.png block_2021_12_29-下午3_30_32.png

    首先我们先来看左边,利用了跳出循环的机制,让变量 “i” 每次循环都加1,超过了10的时候,立刻跳出循环

    右边则是利用了递归,递归就是在过程或函数里调用自身

    在定义功能的时候,把调用函数的指令也放进去了,就相当于函数调用函数,如果不加停止条件,会一直调用下去

    可能有些同学看不懂,现在我们来解析一下
    递归.png