我有一个完全按照我想要的方式工作的函数,但是对于我的课程工作,我必须把这个函数变成一个类:
- 必须有一个名为
solveIt
, - 返回以下两个值:
- 如果您已解决此背包问题,则为 True 的布尔值,并且
- 具有正确值的背包对象。
该类必须有一个__str__()
返回这样的字符串的函数。第一行是大小,第二行是逗号分隔的元素列表:
10
4,1,9,2,0,4,4,4,3,7
我不太了解课程,因此将不胜感激。这是我现在拥有的功能:
from itertools import combinations
def com_subset_sum(seq, target):
if target == 0 or target in seq:
print(target)
return True
for r in range(len(seq),1,-1):
for subset in combinations(seq, r):
if sum(subset) == target:
print(subset)
return True
return False
print(com_subset_sum([4,1,9,2,0,4,4,4,3,7],10))