码迷,mamicode.com
首页 > 其他好文 > 详细

day16【Pyhton 递归】递归理解

时间:2017-11-08 19:45:18      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:技术   print   log   代码   算法   函数   gif   code   play   

函数的产生可以使代码可以重复使用。

递归的产生可以 使函数重复使用自己,但是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

 

day16【Pyhton 递归】递归理解

标签:技术   print   log   代码   算法   函数   gif   code   play   

原文地址:http://www.cnblogs.com/huyangblog/p/7805059.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!