标签:方法调用 factor print 递归 imp error one 斐波那契 exce
递归是神马
>>> def recursion():
... recursion()
...
>>> recursion()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in recursion
File "<stdin>", line 2, in recursion
File "<stdin>", line 2, in recursion
[Previous line repeated 995 more times]
RecursionError: maximum recursion depth exceeded
>>> import sys
>>> sys.setrecursionlimit(1000000)
递归球阶乘
写一个求阶乘的函数
正整数阶乘从1乘以2乘以3乘以4一直乘到所要求的数。
例如所给的数是5,则阶乘式是1*2*3*4*5,得到的积是120,所以120就是5的阶乘。
非递归版本的实现
>>> def factorial(n):
... result = n
... for i in range(1,n):
... result *= i
... return result
...
>>> print(‘%d 的阶乘是: %d‘ % (5,factorial(5)))
5 的阶乘是: 120
递归实现
>>> def recursion(x):
... if x == 1:
... return x
... else:
... return x * recursion(x-1)
...
>>> recursion(5)
120
>>> recursion(6)
720
递归效率低,方法调用
递归使用不当,死循环
斐波那契(Fibonacci) Leonardo Fibonacci
标签:方法调用 factor print 递归 imp error one 斐波那契 exce
原文地址:http://www.cnblogs.com/fengjunjie-w/p/7491736.html