gpt4 book ai didi

python 3,递归,或在return语句中

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

我有一个代码可以检查给定的整数列表是否可以达到指定的目标。如果列表中整数的任意组合总和可以达到目标值,则返回 True。输入“start”是我想要开始并继续直到列表末尾的列表的索引

def groupSum(start, nums, target):
if start >= len(nums):
return target == 0
else:
return groupSum(start + 1, nums, target - nums[start]) or groupSum(start + 1, nums, target);

所以,如果我把

groupSum(0, [2,4,8], 10)

它将返回 True,并且,如果我输入

groupSum(0, [2,4,8], 9)

它将返回 False

问题:我不明白他们如何在递归情况下将“或”放入返回语句中。我不明白这实际上是如何运作的。是同时传递多个函数来检查每个组合还是什么?

我对递归方法非常陌生,如果您能解释此处使用的技术,我将不胜感激。谢谢

最佳答案

在 python andor 运算符中,返回 bool 值。他们返回最后评估的东西。所以,当你

return a or b

如果a是真值,则返回a。否则,表达式的真实性取决于 b,因此将返回 b

关于python 3,递归,或在return语句中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47455239/

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