我有这个代码:
def get_girlfriend():
res = input("Will you go out with me? ")
if (res == "y"):
print("We've done it bois")
return
get_girlfriend()
但我不断收到此错误:
RecursionError: maximum recursion depth exceeded
有人可以帮忙吗?
我有这个代码:
def get_girlfriend():
res = input("Will you go out with me? ")
if (res == "y"):
print("We've done it bois")
return
get_girlfriend()
但我不断收到此错误:
RecursionError: maximum recursion depth exceeded
有人可以帮忙吗?
python中的默认递归深度是1000,但是如果需要增加深度(不推荐);
import sys
sys.setrecursionlimit(needed_depth)
但是,如果您尝试运行简单程序而没有任何错误,请尝试捕获它们并处理或设置递归的基本限制。
设置递归的基本限制:
def get_girlfriend(n=0):
res = input("Will you go out with me? ")
if (n < 100 and res == "y"):
print("We've done it bois")
return
get_girlfriend(n+1)
尝试捕获错误:
def get_girlfriend():
res = input("Will you go out with me? ")
if (res == "y"):
print("We've done it bois")
return
try:
get_girlfriend()
except RecursionError:
return
一个函数应该总是有一个出口网关。
的默认最大递归深度为python
1000。
因此,当函数调用自身 1000 次时,您会收到错误消息。我不知道您的代码旨在实现什么目标,但是如果语句满足您的条件,则通过添加一些条件,您将能够终止。
def get_girlfriend():
res = input("Will you go out with me? ")
answer = res
if (answer == "y"):
print("We've done it bois")
get_girlfriend()
如果这就是你的意思。但是,如果您键入 y,这是输出
你会和我出去吗?y 我们已经做到了 bois
和其他人,但你:你会和我出去吗?n