我一直在困惑几个小时如何为这个问题制作程序。我搜索了类似的解决方案,但我没有成功。
共有6组2个值a [a1,a2] ; b [b1, b2] ; ... f [f1, f2].
每个组合都需要每组至少有一个值,但它也可以同时拥有两个值。因此,有64种组合。
我需要的是计算所有这些组合,然后打印出类似的内容:
Combination 1: a1, b1, c1, d1, e1, f1 Sum: (sum of those listed)
Combination 2: ...
Total sum:
答案 0 :(得分:2)
>>> from itertools import product
>>> for item in product(['a1', 'a2'], ['b1', 'b2'], ['c1', 'c2']):
... print item
...
('a1', 'b1', 'c1')
('a1', 'b1', 'c2')
('a1', 'b2', 'c1')
('a1', 'b2', 'c2')
('a2', 'b1', 'c1')
('a2', 'b1', 'c2')
('a2', 'b2', 'c1')
('a2', 'b2', 'c2')
看起来你的a1,a2等是数字的。那太好了
>>> from itertools import product
>>> for item in product([1, 2], [3, 4], [5, 6]):
... print item, sum(item)
...
(1, 3, 5) 9
(1, 3, 6) 10
(1, 4, 5) 10
(1, 4, 6) 11
(2, 3, 5) 10
(2, 3, 6) 11
(2, 4, 5) 11
(2, 4, 6) 12