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)
View Code

 

以上是关于day16Pyhton 递归递归理解的主要内容,如果未能解决你的问题,请参考以下文章

python学习day16

day16 -- 递归函数,二分查找

python 函数式编程尾递归优化 day16

python16_day03集合函数递归内置函数

vue递归组件的一些理解

day④:递归