廖雪峰网站:学习python函数—递归函数

Posted 笑笑未来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了廖雪峰网站:学习python函数—递归函数相关的知识,希望对你有一定的参考价值。

 

 

# 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数

# 计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出:

# fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n


# 使用递归函数的优点是逻辑简单清晰,缺点是过深的调用会导致栈溢出。

def fact(n):
    if n==1:
        return 1
    return n * fact(n-1)
print(fact(1) =, fact(1))
print(fact(5) =, fact(5))
print(fact(10) =, fact(10))


# 利用递归函数移动汉汉诺塔:
def move (n, a, b, c):
    if n == 1:
        print(move, a, -->, c)

    else:
        move(n-1, a, c, b)
        move(1, a, b, c)
        move(n-1, b, a, c)
move(4, A, B, C)

 

以上是关于廖雪峰网站:学习python函数—递归函数的主要内容,如果未能解决你的问题,请参考以下文章

Python函数

python函数-------python2.7教程学习廖雪峰版

python函数式编程-------python2.7教程学习廖雪峰版

python学习之2函数(廖雪峰)

python学习之4函数式编程(廖雪峰)

据廖雪峰python3教程----python学习第七天