Python之递归

一、递归的定义:函数自身调用自身

示例:(死循环,仅示范使用)

def test(n):
	print(n)
	test(n)


test(10)

正常递归:

def test(n):
	print(n)
	if int(n / 2) == 0:
		return n
	res = test(int(n / 2))
	return res


test(10)

递归问路:

def ask_way(persionlist):
	print("-" * 60)
	if len(persionlist) == 0:
		return "没人知道"
	persion = persionlist.pop(0)
	if persion == "dou5":
		print("谢天谢地你终于问对人了")
		return "%s 说:你顺着路往前走,走到头再往右" % persion
	print("hi 帅哥%s,where is the way?" % persion)
	print("%s回答道:我不知道,你等着,俺给你问问%s......" % (persion, persionlist))
	time.sleep(3)
	res = ask_way(persionlist)
	return res


ask_way(persion_list)

二、递归的特性

1、必须有一个明确的结束条件

2、每次进入更深一层递归时,问题规模相比上一次递归都应有所减少

3、递归的效率不高,递归层次过多会导致栈溢出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值