马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
递归: 就是函数调用自身>>> def recursion(): # 自己调用自己,会一直报错
return recursion()
>>>
>>> recursion()
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
recursion()
File "<pyshell#2>", line 2, in recursion
return recursion()
File "<pyshell#2>", line 2, in recursion
return recursion()
File "<pyshell#2>", line 2, in recursion
return recursion()
File "<pyshell#2>", line 2, in recursion
return recursion()
File "<pyshell#2>", line 2, in recursion
RuntimeError: maximum recursion depth exceeded # 超出最大深度
python可以更改递归的深度,默认是100层,不建议设置太大
>>> import sys
>>> sys.setrecursionlimit(1000000) # 这里改到1000000层
求阶乘用递归实现的例子: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))
求阶乘用函数实现的例子: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))
递归的条件:有正确的返回值;return + 函数自身 ; 在调用函数自身传参时,这个参数就有一个规律,慢慢的趋向于一个值,等到这个值出现,就return一个实数。 |