python----递归函数

一:初始递归

    定义:在函数内调用自己。

    最大递归层数做了一个限制:997

def story():
    s="从前有坐山,山里有座庙,庙里有个老和尚讲故事讲的是什么呢"
    print(s)
    story()
story()

   限制修改

import sys
print(sys.setrecursionlimit(100000))最大限制是python默认的,可以做修改。但我们不建议修改。
递归解决的问题:
通过参数来控制每一次调用缩小,计算规模。
适合场景:
数据规模在减小,但解决问题的思路没有改变。
结束递归的标志:return。

二:递归函数二分查找。
l=[2,3,5,10,15,16,18,22,26,]
def find(l,aim):    #----列表aim,要找的。----
    mid=len(l)//2    #----计算中心----
    if l[mid]>aim:   #----判断中心位置的值和目标值的大小关系----
        new_l=l[:mid]   #----[16,18]
        return find(new_l,aim)
    elif l[mid]<aim:     #----判断中间位置的值和目标值的大小关系----
        new_l=l[mid+1:]
        return find(new_l,aim)
    else:
        return l[mid]
print(find(l,16))

三:递归函数三级菜单。
原文地址:https://www.cnblogs.com/w-s-l123/p/7263317.html