day16Pyhton 递归递归理解
Posted hpython
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day16Pyhton 递归递归理解相关的知识,希望对你有一定的参考价值。
函数的产生可以使代码可以重复使用。
递归的产生可以 使函数重复使用自己,但是python默认递归的深度为1000,这个深度是可以修改的。
自己理解:递归虽然可以重复使用但是,需要设置一个条件,这个条件就是使递归跳出循环的。
def age(n): if n == 1: return 40 return age(n-1)+2
递归进行二分查找:
def find(lst,aim): #这种算法可以在查找的值存在的情况下,不会报错,但是在,查找不 存在的值时,就会报错。 mid = len(lst)//2 if aim > lst[mid]: find(lst[mid+1:],aim) elif aim < lst[mid]: find(lst[:mid],aim) else:print(aim,mid) find(ls,66) #现在的方法可以解决,查找如果不存在的值不报错 def find(lst,aim): mid = len(lst)//2 if mid: if aim > lst[mid]: find(lst[mid+1:],aim) elif aim < lst[mid]: find(lst[:mid],aim) else:print(aim,mid) else:print("你查找的值不存在") find(ls,66)
以上是关于day16Pyhton 递归递归理解的主要内容,如果未能解决你的问题,请参考以下文章