python递归求阶乘的方法

python递归求阶乘的方法

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

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

推荐学习:Python视频教程

def f(x):

    ifx == 0:

        return0

    elif x == 1:

        return1

    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

fori in range(1,6):

    f = f * i

print(f)

结果一样是120。

相关免费资料分享(点击即可免费观看~)

1、搞懂前后端,一节课上手WEB项目!

http://www.makeru.com.cn/live/5020_2060.html?s=96806

2、一节课搞懂爬虫,爬取海量数据

http://www.makeru.com.cn/live/5020_2061.html?s=96806

3、同样是爬虫,别人为啥用的这么6?

http://www.makeru.com.cn/live/5020_2068.html?s=96806

142244252 学习资料交流群,想要和志同道合的朋友一起学习,大家互相分享自己的学习资料和作品,欢迎感兴趣的朋友共同学习,共同进步,每天还会有免费的公开课程!!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 什么是递归函数 一种计算过程,如果其中每一步都要用到前一步或前几步的结果,称为递归的。用递归过程定义的函数,称为递...
    古月半半阅读 5,058评论 0 1
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 4,061评论 0 2
  • 1.函数参数的默认值 (1).基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。
    赵然228阅读 832评论 0 0
  • 昨天多了,明天少了,人生就是这样前行。时间既会帮助我们解决问题,也会帮助我们摆脱幻想。不带功利地生活,说明...
    冰夫阅读 127评论 0 0
  • JessicaH2017阅读 545评论 3 6

友情链接更多精彩内容