发布时间:2022-05-06 09:53:40 人气:285 作者:多测师
递归: 函数调用自己本身
递归的核心:1)递归推导式2)递归终止条件
不过虽然递归很方便,但是尽量少用,以防栈溢出,而且会计算效率不高。
'''
例题:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。
问第4个人岁数,他说比第3个人大2岁。
问第三个人,又说比第2人大两岁。
问第2个人,说比第一个人大两岁。
最后问第一个人,他说是10岁。
请问第五个人多少岁?
'''
' n1 n2 n3 n4 n5 '
# 10 n1 +2 n2 +2 n3 +2 n4+2
#for 循环
def age(n):
age = 10
for i in range(1,n):
age = age +2
print('最后一个人,是%s 岁'%age)
### 递归
def age2(n):
if n == 1:
return 10
else:
return age2(n-1) +2
##要计算age2(n)的值,程序会先去计算age2(n-1)的值,要计算 age2(n-1)的值,程序要计算age2(n-2)的值...直到n==1的时候,程序算出了age2(1)的值,再把值拿到age2(2)里面...以此类推,算出age2(n)
### 阶层 1!=1*1 2!=2*1 3!=3*2*1 4!=4*3*2*1
# 1! 2! =2*1! 3!=3*2! 4! =4 *3!
#推导式 : n! = n * (n-1) !
#终止条件: n == 1 return 1
def jie(n):
if n ==1:
return 1
else:
return jie(n-1) *n
以上内容为大家介绍了Python 递归函数,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/