Our Mathematical Selection code in Python.
Mathematical Selection Class File:
# Sure enough this is a module
# define a class
class Choice:
    def __init__(self):
        self.i = 0
    def groupSelection(self, candidates, size):
        self.words = candidates
        self.r = size
        self.complete_group = []
        self.i = 0
        
        self.recursiveFillUp([])
        return self.complete_group
    # pick elements recursively
    def recursiveFillUp(self, temp):
        picked_elements = [[] for k in range(len(self.words))]
        j = self.i
        while j < len(self.words):
            picked_elements[j].extend(temp)
            picked_elements[j].append(self.words[j])
            # recoil factor
            if self.i >= len(self.words):
                self.i = j
                
            # satisfied yet?
            if len(picked_elements[j]) == self.r:
                self.complete_group.append(picked_elements[j])
            elif len(picked_elements[j]) < self.r:
                self.recursiveFillUp(picked_elements[j])
            
            j += 1
        
        j -= 1
        if picked_elements[j] != None and len(picked_elements[j]) == self.r:
            self.i += 1 # keep recoil factor straightened outMain Class:
#!/usr/bin/python
from Selection import Choice
# Use the combination module/class
goods = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
pick = Choice()
result = pick.groupSelection(goods, 6)
# print choices and operation
print("\n", pick.words, " selection ", pick.r, ":\n")
# print out selections nicely
i = 0
for group in result:
    i += 1
    print(i, ": ", group)
    
print("\n\nNumber of ways is ", len(result), ".\n")Try it out!
                            
                                
                                
                                
                                Elegance (0.0)
                                
                                
                                
                            
                        
                
        
            
            
        