第四章 Python函数使用 06-函数的嵌套与递归

本文介绍了函数的嵌套调用,即一个函数内部调用另一个函数的机制,然后详细阐述了递归的概念,包括递归调用的原理和示例,如计算数的和及解决年龄问题。最后,通过斐波那契数列的例子展示了递归在解决特定数学问题中的应用。
摘要由CSDN通过智能技术生成

函数的嵌套调用

所谓函数嵌套调用指的是一个函数里面又调用了另外一个函数

def testB():
	print('---- testB start----')
	print('这里是testB函数执行的代码...(省略)...')
	print('---- testB end----')

def testA():
	print('---- testA start----')
	testB()
	print('---- testA end----')

testA()

01-第5天-4

如果函数A中,调用了另外一个函数B,那么先把函数B中的任务都执行完毕之后才会回到上次 函数A执行的位置

函数的递归

递归调用是一种特殊的调用形式,是函数自己调用自己。一个函数体内调用它自身,被称为函数递归。函数递归包含了一个隐式的循环,

它会重复执行某段代码,但这种重复执行无需循环控制

例如:从前有座山,山里有座庙,庙里有一个老和尚和小和尚,老和尚在给小和讲故事…

# 使用递归算法,求出任意数的和
def toSum(num):
	if num == 1:
		return 1
	else:
		return num+toSum(num-1)
sum = toSum(10)
print(sum)

"""
有六个人,第六个人说他比第五个人大3岁,第五个人说他比第四个人大3岁,第四个人说他比第三个人大3岁,
第三个人说他比第二个人大3岁,第二个人说他比第一个人大3岁,第一个人说自己13岁,求第六个人多大
"""
def sumAge(n):
	if n == 1:
		return 13
	else:
		return sumAge(n-1)+3

sum2 = sumAge(6)
print(sum2)

递归进阶操作:斐波那契数列

斐波那契数列(Fibonacci)最早由印度数学家戈帕拉(Gopala)提出,而第一个真正研究斐波那契数列的是意大利数学家 Leonardo Fibonacci,斐波那契数列的定义很简单,数列的前两位数字是1,之后的数由前两个数相加而得出,例如斐波那契数列的前10个数是:1, 1, 2, 3, 5, 8, 13, 21, 34, 55

def getFibonacci(index):
    if index == 1 or index == 2:
        return 1
    return getFibonacci(index - 1) + getFibonacci(index - 2)

for i in range(1, 11):
    print(getFibonacci(i), end=", ")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值