递归例子:汉诺塔、树结构定义、谢尔宾斯三角形、女神自拍
1.设置最大递归层数:
>>> import sys
>>> sys.setrecursionlimit(1000000)
2.递归条件:调用函数自身;有正确的返回条件(有正确的终止条件)
3.求阶乘:
(1)非递归:
>>>def factorial(n):
result = n
for i in range(1,n):
result*=i
return(result)
>>>number = int (input('请输入一个正整数:'))
>>>result = factorial(number)
>>>print('%d 的阶乘是:%d', % (number, result))
(2)递归:
>>>def factorial(n);
if n == 1:
return (1)
else:
return (n * factorial(n-1))
>>>number = int (input('请输入一个正整数:'))
>>>result = factorial(number)
>>>print('%d 的阶乘是:%d', % (number, result))
本文通过几个经典的递归实例介绍了递归的基本概念,并详细展示了如何使用递归与非递归方法实现阶乘计算。

被折叠的 条评论
为什么被折叠?



