python函数八(递归函数)

Posted 忆殇★伤忆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python函数八(递归函数)相关的知识,希望对你有一定的参考价值。

一。递归函数

递归的定义——在一个函数里再调用这个函数本身

def func():
    print(111)
    return func()
func()

递归的最大深度——997

n = 1
def func(n):
    print(n)
    n += 1
    return func(n)
func(1)

修改递归最大深度

import sys
print(sys.setrecursionlimit(100000))

例一:

现在你们问我,alex老师多大了?我说我不告诉你,但alex比 egon 大两岁。

你想知道alex多大,你是不是还得去问egon?egon说,我也不告诉你,但我比武sir大两岁。

你又问武sir,武sir也不告诉你,他说他比金鑫大两岁。

那你问金鑫,金鑫告诉你,他40了。。。

这个时候你是不是就知道了?alex多大?

def age(n):
    if n == 1:
        return 40
    elif 1 < n <= 4:
        return age(n-1)+2

print(age(4))

求l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88]中66对应的索引位置

l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88]
def find(l,aim,start = 0,end = len(l)-1):
    # if end == None:end = len(l)-1
    if start <= end:
        mid = (end - start) // 2 + start
        if l[mid] < aim:
            return find(l,aim,start=mid+1,end = end)
        elif l[mid] > aim:
            return find(l,aim,start=start,end=mid-1)
        elif l[mid] == aim:return mid
    else:return None

ret = find(l,66)
print(ret)

 

以上是关于python函数八(递归函数)的主要内容,如果未能解决你的问题,请参考以下文章

Python学习笔记八:文件操作(续),文件编码与解码,函数,递归,函数式编程介绍,高阶函数

小白有一个关于python递归的问题 求教

python基础-函数_递归_内置函数

第七篇 python基础之函数,递归,内置函数

第七篇 python基础之函数,递归,内置函数

第七篇 python基础之函数,递归,内置函数