zoukankan      html  css  js  c++  java
  • 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))

    三:递归函数三级菜单。
  • 相关阅读:
    4.单例模式
    3.适配器模式
    2.策略模式
    1.工厂模式
    机器学习
    何为技术领导力
    图像像素的算术操作
    图像对象创建和赋值的区别
    图像色彩空间转换
    notepad更改文档编码格式
  • 原文地址:https://www.cnblogs.com/w-s-l123/p/7263317.html
Copyright © 2011-2022 走看看