zoukankan      html  css  js  c++  java
  • Python递归函数介绍

                      Python递归函数介绍

                                    作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

     

    一.递归函数的工作原理

    1.案例展示

     1 #!/usr/bin/env python
     2 #_*_coding:utf-8_*_
     3 #@author :yinzhengjie
     4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
     5 #EMAIL:y1053419035@qq.com
     6 
     7 
     8 import sys
     9 # print(dir(sys))
    10 # sys.setrecursionlimit(1000000)          #修改默认递归调用的次数,不建议修改!
    11 # print(sys.getrecursionlimit())        #查看递归函数的最大可以调用的次数,默认是可以调用1000次;
    12 
    13 
    14 def Age(n):
    15     if n == 5:      #指定明确的递归结束条件;
    16         return 18
    17     return Age(n+1)+2
    18 
    19 
    20 print(Age(1))
    21 
    22 """
    23 递归函数:
    24         1>.递归函数必须要有一个明确的结束条件
    25             递归函数效率低,需要在进入下一次递归是保留当前的状态,解决方法是尾递归,即在函数的最后一步
    26 (而非最后一行)调用自己,但是Python又没有尾递归,且对递归层级做了限制。
    27         2>.每次进入更深一层递归时,问题规模相比上次递归都应有所减少;
    28         3>.递归效率不高,递归层次过多会导致栈溢出;
    29 
    30 """
    31 
    32 
    33 
    34 
    35 #以上代码执行结果如下:
    36 26

    2.图解递归函数

    二.小试牛刀

     1 #!/usr/bin/env python
     2 #_*_coding:utf-8_*_
     3 #@author :yinzhengjie
     4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
     5 #EMAIL:y1053419035@qq.com
     6 
     7 
     8 
     9 
    10 def PiercingEye(List):
    11     for item in List:
    12         if isinstance(item, list):
    13             PiercingEye(item)
    14         else:
    15             print(item)
    16 
    17 
    18 ListNum = [1, [2, 3, [4, [5, 6, 7, [8, 9]]]]]
    19 PiercingEye(ListNum)
    20 
    21 
    22 
    23 
    24 #以上代码执行结果如下:
    25 1
    26 2
    27 3
    28 4
    29 5
    30 6
    31 7
    32 8
    33 9
  • 相关阅读:
    svn导入项目和部署方面的相关问题
    JDK版本会影响项目部署
    在HTML中限制input 输入框只能输入纯数字
    mui-下拉刷新
    抽象工厂模式(Abstract Factory)C#实例
    C++基础-结构体伪函数与多线程(void operator()(int))
    Android基础-Activity生命周期
    Android基础-Adapter适配器生成对话框
    Android基础-弹窗对话框(popup)
    Android基础-自定义对话框
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/8505503.html
Copyright © 2011-2022 走看看