【发布时间】:2014-04-15 15:13:09
【问题描述】:
我正在尝试编写一个函数,该函数不仅可以确定集合的子集的总和是否添加到所需的目标数,还可以打印作为解决方案的子集。
这是我查找子集是否存在的代码:
def subsetsum(array,num):
if num == 0 or num < 1:
return False
elif len(array) == 0:
return False
else:
if array[0] == num:
return True
else:
return subsetsum(array[1:],(num - array[0])) or subsetsum(array[1:],num)
如何修改它以记录子集本身以便我可以打印它?提前致谢!
【问题讨论】:
-
返回子集的元组以及总和是否增加到您想要的目标数。喜欢
return subset, True。 -
不知道该怎么做。我如何获得元组?
-
您是否尝试在网上搜索如何做到这一点? Here's one of the top results on google.
-
对不起,我知道如何返回多个值。那不是问题。我想知道如何将加起来达到所需数字的值添加到列表或元组中。现在该函数仅确定 True 或 False。我需要用值填充元组。
-
你需要先自己做一些小的努力。 Take a look at the
append()method of lists.
标签: python subset-sum