zoukankan      html  css  js  c++  java
  • 13. 递归函数

    1. 递归函数:函数或者其它代码都可以解决

    官网规定:默认递归的最大深度1000次。如果你递归超过100次还没有解决这个问题,那么执意使用递归,效率很低。

    import sys
    print(sys.setrecursionlimit(1000000))
    
    def func(n):
        print(n)
        n += 1
        func(n)
    func(1)
    

    计算年龄:

    def age(n):
        if n == 1:
            return 18
        else:
            return age(n-1) + 2
    
    print(age(4))
    '''
    def age(4):
        if n == 1:
            return 18
        else:
            return age(3) + 2
    
    age(4) = age(3)  + 2
    
    def age(3):
        if n == 1:
            return 18
        else:
            return age(2) + 2
    age(4) = age(2) + 2  + 2
    
    
    def age(2):
        if n == 1:
            return 18
        else:
            return age(1) + 2
    age(4) = age(1) + 2 + 2  + 2    
    
    def age(1):
        if n == 1:
            return 18
        else:
            return age(1) + 2
    
    age(4) = 18 + 2 + 2  + 2    
    '''
    

    打印列表中所有的元素:

     l1 = [1, 3, 5, ['小王','小红', 34, [33, 55, [11,33]]], [77, 88],66]
     def func(alist):
     	for i in alist:
     		if type(i) == list:
     			func(i)
     		else:
     			print(i)
    func(l1)
    

    .

  • 相关阅读:
    60. 搜索插入位置
    62. 搜索旋转排序数组
    101. 删除排序数组中的重复数字 II
    397. 最长上升连续子序列
    172. 删除元素
    31. 数组划分
    100. 删除排序数组中的重复数字
    407. 加一
    412. 分糖果
    14. 二分查找
  • 原文地址:https://www.cnblogs.com/pythonblogs/p/11135199.html
Copyright © 2011-2022 走看看