如何用PYTHON的递归算法表示阶乘

2025-11-20 20:14:44

1、打开JUPYTER NOTEBOOK,新建一个空白的PY文档。

如何用PYTHON的递归算法表示阶乘

2、n! = 1 x 2 x 3 x ... x n

这个是阶乘factorial的表示法

如何用PYTHON的递归算法表示阶乘

3、def factorial(n):

我们可以运用函数来定义这个阶乘。

如何用PYTHON的递归算法表示阶乘

4、def factorial(n):

我们要理解n! = n * (n - 1)!

如何用PYTHON的递归算法表示阶乘

5、def factorial(n):

    return n * factorial(n - 1)

这里设置一下返回的数值。

如何用PYTHON的递归算法表示阶乘

6、def factorial(n):

    return n * factorial(n - 1)

factorial(3)

这里出错了,因为我们没有设置暂停的条件。

如何用PYTHON的递归算法表示阶乘

7、def factorial(n):

    if n == 1:

        return 1

    return n * factorial(n - 1)

factorial(3)

增加一个条件就可以运行正确了。

如何用PYTHON的递归算法表示阶乘

8、def factorial(n):

    if n == 1: #基线条件

        return 1

    return n * factorial(n - 1) #递归条件

factorial(3)

这里要区分一下两个条件的作用。

如何用PYTHON的递归算法表示阶乘

9、def factorial(n):

    if n == 1:

        return 1

    return str(n) + " * " + str(factorial(n - 1))

factorial(3)

字符串的表示方法更加清晰。

如何用PYTHON的递归算法表示阶乘

10、'''

factorial(3)

3 * factorial(3 - 1)

3 * factorial(2)

3 * 2 * factorial (2 - 1)

3 * 2 * factorial (1)

3 * 2 * 1

'''

这里是实际运行的情况。

如何用PYTHON的递归算法表示阶乘

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢