gpt4 book ai didi

python - 我的解决方案和算法有什么问题

转载 作者:行者123 更新时间:2023-12-01 07:26:39 25 4
gpt4 key购买 nike

返回 num_dict 中具有以下特征的所有键(作为一组)值大于或等于 min_cutoff

参数:

  • num_dict:字典。 num_dict 中的所有值都是数字。
  • min_cutoff: float 。与 num_dict 值进行比较。返回所有键,其中它们的值 >= min_cutoff。
  • set: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

最佳答案

现在,您正在 return 语句中使用完全相同的参数再次调用该函数,因此会出现 RecursionError。您需要收集一组内的 key ,然后返回该组:

def keys_geq_cutoff(num_dict, min_cutoff):
res = set()
for k, v in num_dict.items():
if (v >= min_cutoff):
res.add(k)
return res

或者,可以使用一个很好的集合理解:

def keys_geq_cutoff(num_dict, min_cutoff):
return {k for k, v in num_dict.items() if v >= min_cutoff}

关于python - 我的解决方案和算法有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57411815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com