from itertools import combinations
lst = list(range(1, 11))
X = 5
comb = combinations(lst, X)
Y = 31
for ol in list(comb):
sum = 0
tmp_lst = []
for n in ol:
sum += n
tmp_lst.append(n)
if (sum == Y):
print(tmp_lst , "sum =", sum)
'''
run:
[1, 3, 8, 9, 10] sum = 31
[1, 4, 7, 9, 10] sum = 31
[1, 5, 6, 9, 10] sum = 31
[1, 5, 7, 8, 10] sum = 31
[1, 6, 7, 8, 9] sum = 31
[2, 3, 7, 9, 10] sum = 31
[2, 4, 6, 9, 10] sum = 31
[2, 4, 7, 8, 10] sum = 31
[2, 5, 6, 8, 10] sum = 31
[2, 5, 7, 8, 9] sum = 31
[3, 4, 5, 9, 10] sum = 31
[3, 4, 6, 8, 10] sum = 31
[3, 4, 7, 8, 9] sum = 31
[3, 5, 6, 7, 10] sum = 31
[3, 5, 6, 8, 9] sum = 31
[4, 5, 6, 7, 9] sum = 31
'''