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