如何从一组数里选出相加等于给定值的组合?(语言-python)

输入一组数,并给定一个数值,要求程序自动打印出相加之和等于给定值的组合,不一定是两数。

求帮忙。语言是python


import itertools
list = [1,2,3,4,5,6,7,8]
num = 12
n=len(list)
for i in range(1,n+1):
    data = itertools.combinations(list,i)
    for s in data:
        if sum(s) == num:
            print("组合:{}元素相加等于{}".format(s,num))

是找出所有组合,还是只要找到就可以?