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、递归的效率不高,递归层次过多会导致栈溢出

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章