pycharm 报错:maximum recursion depth exceeded while getting the repr of an object
怎么解决
def print_info(**kwargs):
print(kwargs)
print_info(Tom=18,Lily=13)
print_info(Tom=18,Lily=12,Anna=16)
data = {
"Tom":18,
"Lily":12,
"Jin":20
}
print_info(**data)
这样
def print_info(**kwargs):
print(kwargs)
print_info(Tom=18,Lily=13)
print_info(Tom=18,Lily=12,Anna=16)
data = {
"Tom":18,
"Lily":12,
"Jin":20
}
print_info(**data)
这个错误是指你的递归深度超过了最大值。
这可能会有两个原因造成,一个就是深度真的太大了,可以通过调整最大的递归深度来解决:
import sys
sys.setrecursionlimit(10000) # 设置最大递归深度为10000
# 递归函数代码
另一种就是你的递归函数没有设置终止条件,或者终止条件设置不正确,那么你的递归就无限制的递归下去,直到递归深度超过最大值。
你的情况,就是没有设置终止条件。
你的代码可以改成这样:
def print_info(**kwargs):
print(kwargs)
data = {
"Tom":18,
"Lily":12,
"Jin":20
}
print_info(**data)
data = {
"Tom":18,
"Lily":13
}
print_info(**data)
data = {
"Tom":18,
"Lily":12,
"Anna":16
}
print_info(**data)
你要完成的功能根本不需要递归,即使强用递归也会显得方法很难看。