为了账号安全,请及时绑定邮箱和手机立即绑定

python递归函数出错:RuntimeError: maximum recursion depth exceeded

python递归函数出错:RuntimeError: maximum recursion depth exceeded

米鸽 2017-03-06 18:54:53
def f(m,n):     if m==0|n==1:         return 1     elif m<n:         return f(m,m)     else:         return f(m-n,n) + f(m,n-1)为什么会一直跑最后一行呢
查看完整描述

4 回答

?
米鸽

TA贡献1条经验 获得超0个赞

查了一下发现python的逻辑或是or……改完就好了。

查看完整回答
反对 回复 2017-03-13
?
孤独的小猪

TA贡献232条经验 获得超302个赞

你这个函数是一直递归,已经超过python最大的递归上限,好像最大限度是1000,这是为了防止python防止溢出崩溃而设置的。可以手动调节,但不建议。

import sys
sys.setrecursionlimit(1500)  # set the maximum depth as 1500


查看完整回答
反对 回复 2017-03-08
?
慕粉2223462313

TA贡献1条经验 获得超0个赞

agreeeeeeeeeeeeeeeee with above

查看完整回答
反对 回复 2017-03-07
?
weibo_许1un_0

TA贡献3条经验 获得超0个赞

python3 不限定深度的情况下 递归深度上限100,python2 1000。 这个函数在重复递归,最后自然会报错。
查看完整回答
反对 回复 2017-03-06
  • 4 回答
  • 0 关注
  • 1423 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信