python递归求阶乘的方法


本文摘自php中文网,作者angryTom,侵删。

python递归求阶乘的方法

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

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

推荐学习:Python视频教程

1

2

3

4

5

6

7

8

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。所以,输出结果如下:

1

120

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

1

2

3

4

f = 1

for i in range(1,6):

    f = f * i

print(f)

结果一样是120。

以上就是python递归求阶乘的方法的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python利用os模块批量修改文件名的方法介绍(附代码)

Python md5与sha1加密算法的详细介绍

Python如何实现可视化箱线图

Python使用struct处理二进制的方法详解

资深程序员Python学习进阶书籍推荐

Python爬虫能够干什么

Python实现log日志的示例代码

Python招聘要求高吗

Python写错了怎么删除

bool函数怎么用?

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...