Suppose I have a list of three products (A, B C). Each Product has a price. Given a total cost, I want to find all the possible product combinations to equal exactly that co
The itertools module offers combinatoric generators to help with problems such as this:
>>> from itertools import *
>>> prices = dict(a=10, b=15, c=8, d=2, e=5)
>>> total_cost = 20
>>> for r in range(1, 30):
for t in combinations_with_replacement(prices, r):
cost = sum(prices[p] for p in t)
if cost == total_cost:
print t