递归函数封装练习

一,递归

1.1 使用递归实现:计算某个数的阶乘

                    递归函数简单来说就是自己调用自己。

                  注意:在调用的时候应该注意调用深度,如果没有设置深度,或者过多,计算机资源会承载不了。

                    还应该注意设置终止条件。

函数设定

1

函数输出结果


2

1.2用递归函数实现获取菲波拉契数列中第n个数字的值


3

函数:


4

输出:


5

二,函数封装:

2.1 封装函数实现如下要求

            例如:输入2,5

            则求:2+22+222+2222+22222的和

            解题思路:将传入的数字2强转为字符串,用for循环在range(1,y+1)进行遍历 遍历得到的i与字符串进行相乘,然后再将这个循环输出的结果放入列表l中去,在对l进行遍历,将l中的元素再一次转为int型然后进行相加,最后输出结果


6

改进:用装饰器去完成


输出:


7

2.2 判断某个数是否是素数,返回结果

                解题思路:首先我们需要知道只能被 1 和它本身整除的数叫做素数


8

输出:


9

2.3 计算2-100直间素数的个数,返回结果

              这道题依旧需要判断是否为素数,需要用到2.2的函数,首先对2-100范围内的数依次进行判断是否为素数

然后定一个n为0的变量进行统计,如果是素数n+1

函数:


10

输出:


11

2.5 交换某两个变量的值:

                解题思路:变量值互换(没整明白啥意思,哈哈哈)

函数:


12

输出:


13

你可能感兴趣的:(递归函数封装练习)