首页 > 编程知识 正文

递归调用的简单例题,递归性的例子

时间:2023-05-03 16:09:41 阅读:114991 作者:2366

在递归函数中,自己调用自己的过程递归函数来生成n的阶乘deffac(n ) : IFN=0: IFN=1: return1else : return * fac (n-1,#是n次幂n-1的阶乘efac )

2 .递归函数求斐波那契数列

def fib (索引) : ifindex=0: a=0elif index=2: a=1else : a=fib ) index-2 ) fib ) index-1 )返回fib

3 .递归函数列表合计

defsum(L ) : ifnotl : return0else : returnl (0) sum (l ) 1: ) )将列表中的第一个元素加上除第一个元素之外的和sum (1,2,3 ) )

5 .递归函数的任意类型的总和

只是合计列表的

ifnotL—iflen(L )==1

返回0—返回l [0]

或者

定义first,*rest=L

if not L—if not rest

返回0—返回第一个

l [0] sum (l [ 1: ]-returnfirstmysum2) rest ) )

注意:

这两个函数的弊端是通过传递空列表而失败

这两个函数的优点是,它们不仅适用于数字,还适用于支持操作的任何对象类型

defmysum1(L ) :iflen(L )==1: return0else : returnl [0] mysum ) L(1: ) ) (第一个元素加上第一个元素和my sum )

defmysum2(L ) : first * rest=lreturnfirstelse : returnfirstmysum2(rest )相当于第一个元素中除去了第一个元素之和mysum ) (((a,) b

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。