标签:python函数 bsp 导致 阶乘 其他 递归函数 栈溢出 学习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函数 bsp 导致 阶乘 其他 递归函数 栈溢出 学习python 逻辑
原文地址:https://www.cnblogs.com/qy1234/p/9362581.html