import itertools print list('{0:07b}'.format(sum(subset)) for subset in itertools.combinations((2**s for s in range(7)), 3))
Standard input is empty
['0000111', '0001011', '0010011', '0100011', '1000011', '0001101', '0010101', '0100101', '1000101', '0011001', '0101001', '1001001', '0110001', '1010001', '1100001', '0001110', '0010110', '0100110', '1000110', '0011010', '0101010', '1001010', '0110010', '1010010', '1100010', '0011100', '0101100', '1001100', '0110100', '1010100', '1100100', '0111000', '1011000', '1101000', '1110000']