当前位置:首页  >  技术干货  >  Python技术干货  > Python 递归函数

Python 递归函数

来源:千锋教育
发布时间:2023-11-07 15:14:00
分享

递归:函数调用自己本身

递归的核心:1)递归推导式2)递归终止条件

不过虽然递归很方便,但是尽量少用,以防栈溢出,而且会计算效率不高。

'''

例题:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。

问第4个人岁数,他说比第3个人大2岁。

问第三个人,又说比第2人大两岁。

问第2个人,说比第一个人大两岁。

最后问第一个人,他说是10岁。

请问第五个人多少岁?

'''

'n1n2n3n4n5'

#10n1+2n2+2n3+2n4+2

#for循环

defage(n):

age=10

foriinrange(1,n):

age=age+2

print('最后一个人,是%s岁'%age)

###递归

defage2(n):

ifn==1:

return10

else:

returnage2(n-1)+2

##要计算age2(n)的值,程序会先去计算age2(n-1)的值,要计算age2(n-1)的值,程序要计算age2(n-2)的值...直到n==1的时候,程序算出了age2(1)的值,再把值拿到age2(2)里面...以此类推,算出age2(n)

###阶层1!=1*12!=2*13!=3*2*14!=4*3*2*1

#1!2!=2*1!3!=3*2!4!=4*3!

#推导式:n!=n*(n-1)!

#终止条件:n==1return1

defjie(n):

ifn==1:

return1

else:

returnjie(n-1)*n

以上内容为大家介绍了Python递归函数,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • Python类的实例化 基本形式:实例对象名=类名(参数)在实例化的过程中,self代表的就是这个实例对象自己。实例化时会把类名后面接的参数传进去赋值给实例,这样传进去的参数就成为了这个实例对象的属性。实例化的过程遵循函数调
  • Python 类和实例的属性 类属性.类属性是可以直接通过“类名.属性名”来访问和修改。.类属性是这个类的所有实例对象所共有的属性,任意一个实例对象都可以访问并修改这个属性(私有隐藏除外)。.对类属性的修改,遵循基本数据类型的特性
  • Python 类的私有属性和方法 在Python中,通过单下划线”_”来实现模块级别的私有化,一般约定以单下划线”_”开头的变量、函数为模块私有的,也就是说”frommoduleNameimport*”将不会引入以单下划线”_”开头的
  • Python 多态 当派生类重写了基类的方法时就实现了多态性。(子类重写父类方法)##面向对象三个特征:封装,继承多态#封装classAnimal:eye=2leg=4#共有的def__init__(self,name,
  • Python 常见的内置函数 常见的内置函数:查看内置函数:print(dir(__builtins__))常见函数type查看对象类型len求长度min求最小值max求最大值sorted排序reversed反向sum求和prin
  • python 小数据池 1.python中的id,is,===id=>id是内存地址is=>比较两边的内存是否相等===>比较两边的数值是否相等==>是赋值2.小数据池的缓存机制小数据池,也称为小整数缓存机制,或者称为驻留机