返回num_dict
中具有
大于或等于min_cutoff
的值。你知道吗
参数:
num_dict
且其值满足截止条件的所有键。你知道吗示例:
keys_geq_cutoff({'Alice': 21, 'Brett': 20, 'Carlos': 31}, 21)
{'Alice', 'Carlos'}
我的代码:
def keys_geq_cutoff(num_dict, min_cutoff):
for k, v in num_dict.items():
if (v >= min_cutoff):
return(keys_geq_cutoff(num_dict, min_cutoff))
错误:
test_keys_geq_cutoff (test_methods.TestPython1)
Traceback (most recent call last):
File "/usr/src/app/test_methods.py", line 13, in test_keys_geq_cutoff
result1 = main.keys_geq_cutoff(test_d, 0)
File "/usr/src/app/main.py", line 4, in keys_geq_cutoff
return(keys_geq_cutoff(num_dict, min_cutoff))
File "/usr/src/app/main.py", line 4, in keys_geq_cutoff
return(keys_geq_cutoff(num_dict, min_cutoff))
File "/usr/src/app/main.py", line 4, in keys_geq_cutoff
return(keys_geq_cutoff(num_dict, min_cutoff))
[Previous line repeated 956 more times]
File "/usr/src/app/main.py", line 3, in keys_geq_cutoff
if (v >= min_cutoff):
RecursionError: maximum recursion depth exceeded in comparison
基本上,您有一个递归错误,这意味着您在函数体中调用函数本身,而没有提供exit子句,因此函数将永远继续。要解决这个问题,您必须创建一个exit子句(例如if语句)
但你可能不想使用这种技术
我想这就是你想要做的:
现在,您在return语句中再次使用完全相同的参数调用函数,因此
RecursionError
。您需要收集集合中的密钥,然后返回该集合:或者,可以使用一个好的集合理解:
你真的需要一个函数吗?问题看起来很相似: Return all the keys (as set) from num_dict that have value greater than or equal to min_cutoff
您可以使用一个编码器:
相关问题 更多 >
编程相关推荐