首页 > 代码库 > Python3基础 用 函数递归求解 一个数字的阶乘

Python3基础 用 函数递归求解 一个数字的阶乘

 镇场诗:
    诚听如来语,顿舍世间名与利。愿做地藏徒,广演是经阎浮提。
    愿尽吾所学,成就一良心博客。愿诸后来人,重现智慧清净体。
——————————————————————————————————————————

code:

# 递归 要调用函数自身,都要进行压栈,弹栈。资源消耗的问题
# 递归 要有正确的终止条件
# 递归有危险性

def f(x):
    if x==1 :
        return 1
    else :
        return x* f(x-1)

print(f(5))

"""
step 1:先下去
f(5)=5*f(4)
    f(4)=4*f(3)
        f(3)=3*f(2)
            f(2)=2*f(1)
                f(1)=1 (return)

 step 2:在逐层返回来
 f(1)=1 (return)
     f(2)=2*f(1)
         f(3)=3*f(2)
             f(4)=4*f(3)
                 f(5)=5*f(4)

最终,我们知道了f(5)的结果
"""

 


result:

============= RESTART: C:\Users\Administrator\Desktop\mytest7.py =============
120
>>> 

 


——————————————————————————————————————————
博文的精髓,在技术部分,更在镇场一诗。Python版本3.5,系统 Windows7。
Python是优秀的语言,值得努力学习。我是跟着小甲鱼视频教程学习的,推荐。
我是一个新手,所以如果博文的内容有可以改进的地方,甚至有错误的地方,请留下评论,我一定努力改正,争取成就一个良心博客。
注:此文仅作为科研学习,如果我无意中侵犯了您的权益,请务必及时告知,我会做出改正。

Python3基础 用 函数递归求解 一个数字的阶乘