• 技术文章 >后端开发 >Python教程

    python递归求阶乘的方法

    angryTomangryTom2020-02-13 11:23:30原创3405

    python递归求阶乘的方法

    阶乘:例如 5! 指的是“5的阶乘”,即 5! = 1*2*3*4*5。

    “递归”就是对自身进行调用的函数。

    推荐学习:Python视频教程

    def f(x):
        if x == 0:
            return 0
        elif x == 1:
            return 1
        else:
            return (x * f(x-1))
    print(f(5))

    代码解释:如果 x=5,那么就返回 5*f(4) 的值。而想知道这个值,就得先算出 f(4) 等于多少。根据函数 f(x),f(4) = 4*f(3),所以 f(5) = 5*4*f(3)。以此类推,推到 f(5) = 5*4*3*2*f(1)。函数 f(x) 说了,当 x==1 时,返回值为 1。所以:f(5) = 5*4*3*2*1 = 120。所以,输出结果如下:

    120

    听起来好像很麻烦,感觉不好理解。如果不用递归函数呢?用最基本的代码,可以写成:

    f = 1
    for i in range(1,6):
        f = f * i
    print(f)

    结果一样是120。

    以上就是python递归求阶乘的方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:python 递归 阶乘
    上一篇:python统计单词出现次数 下一篇:python 装饰器详解
    大前端线上培训班

    相关文章推荐

    • 什么是php递归• php递归经典案例• python求n的阶乘• PHP中的递归是什么?实现方式有哪些?

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网