python 学习分享-函数篇2

递归

自己玩自己的函数:

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

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

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

递归例子和二分查找都放在里面了

def func(n):
    print(n)
    if int(n/2) == 0:
        return n
    return func(int(n/2))
data = [1,3,5,7,9,12,13,14,15,24,25,2,28,33,45,67,88,99]
def two_find(data_new,find_num):
    print(data_new)
    if len(data_new)>1:
        mid = int(len(data_new)/2)
        if data_new[mid] == find_num:
            print('you get it!\033[34;1m%s\033[0m'%(find_num))
        elif data_new[mid] > find_num :
            print('左边继续找吧')
            return two_find(data_new[:mid],find_num)
        else:
            print('右边继续找吧')
            return two_find(data_new[mid:],find_num)
    else:
        if data_new[0] == find_num:
            print('you get it!\033[34;1m%s\033[0m' % (find_num))
        else:
            print('丫不在里面,别扯犊子!')

two_find(data,31)

匿名函数

匿名函数呢。。。暂时还没用到过,老师说有用,那应该会有用到的时候,所以写下来看看

func = lambda n : n**n
print(10)

函数的参数

def func(*args,**kwargs)
    pass

内置函数

盗图放在这里了,以后多看看!

posted @ 2017-03-04 17:10  laay  阅读(140)  评论(0编辑  收藏  举报