zoukankan      html  css  js  c++  java
  • 十一:高阶函数和递归函数

    一:高阶函数:

    def:高阶函数简单来说就是在计算中用到的二次方,三次方等之类的函数,我们可以直接通过函数调用来实现。

     1 # 高阶函数
     2 
     3 def f(n):
     4     return n * n
     5 
     6 
     7 def foo(a,b,func):     # 可以把函数作为参数传入另一个函数中
     8     ret = func(a) + func(b)
     9     return  ret
    10 
    11 print(foo(1,2,f))

    二:递归函数

    def:递归函数就是一个函数在自己内部调用了自己,对于这类函数要找到递归函数的递归体和递归出口,但是需要知道递归函数的执行效率很低,一般情况下我们不建议使用。

    example1:用递归函数实现阶乘:

     1  #递归函数 : 效率很低,尽量少用
     2 
     3  def f(n):
     4      if n == 1:      # 递归出口
     5          return 1
     6      else:
     7          ret = n * f(n - 1)    # 递归体
     8 
     9      return ret
    10 
    11  print(f(5))

    example 2: 用递归函数实现斐波那契数列:

     1 #  斐波那契数列
     2 #  序列:0 1 1 2 3 5 8
     3 def fib(n):
     4     if n <=1:              #递归出口
     5         return n      
     6     else:
     7         ret = fib(n-1)+fib(n-2)     #递归体
     8     return ret 
     9 
    10 print(fib(5))
    所有博文均为原著,如若转载,请注明出处!
  • 相关阅读:
    欧拉回路一个定理的证明
    NOIP2018 初赛数学第二题解析
    linux 减少Terminal路径的方法
    网络挖坑
    linux 记录
    河南游记 Day0

    NOI2018 Day 1 你的名字
    大佬的几行fastIO
    Codeforces 781B. Innokenty and a Football League
  • 原文地址:https://www.cnblogs.com/zpcoding/p/9445529.html
Copyright © 2011-2022 走看看