• 复习


    递归

    超过最大递归深读限制会报错。

    只要写递归函数,必须要有结束条件。

    返回值

    不要只看到return就认为已经返回了,要看返回操作是在递归第几层的时候发生的。然后返回给了谁。

    如果不是返回最外层的函数,调用者接收不到。

    需要在分析,看如何把结果返回回来。

    作业

    斐波那契,问第n个斐波那契数是多少?

    def fib(n):
        if n ==1 or n ==2:
            return 1
        else:
            return fib(n-1) + fib(n-2)
    print(fib(9))
    View Code

    注意,在写递归是应避免调用双递归。因为递归调用的越多,会使计算量越大。因为计算机会做很多重复功浪费时间。

    def fib(n):
        if  n ==2:
            return 1,1
        else:
            a,b = fib(n-1)
            return b,a+b
    print(fib(9))
    View Code

    阶乘的实现

    def func(n):
        if n == 0 or n == 1:
            return 1
        else:
            return n*func(n-1)
    print(func(5))
    View Code

  • 相关阅读:
    可执行
    创建
    可能的加分项
    给老师的建议
    周总结
    今日总结
    今日总结
    今日总结
    今日总结
    今日总结
  • 原文地址:https://www.cnblogs.com/zly9527/p/11432543.html
Copyright © 2020-2023  润新知