return partial(loopn, 4, arg) def loop5(arg): return partial(loopn, 5, arg) def loop6(arg): return partial(loopn, 6, arg) #def if_then_else(condition, out1, out2): # out1() if condition() else out2() # #def if_0_red_gt4(testcube, out1, out2): # return partial(if_then_else, sum([testcube.self.faces[0][y].tolist().count('r') for y in range(0,4)]) > 4, out1, out2) testcube = Cube() testcube.setFitFunc(sys.argv[4]) pset = gp.PrimitiveSet("MAIN", 0) pset.addPrimitive(prog2, 2) pset.addPrimitive(prog3, 3) pset.addPrimitive(prog4, 4) pset.addPrimitive(prog5, 5) pset.addPrimitive(prog6, 6) pset.addPrimitive(prog7, 7) pset.addPrimitive(prog8, 8) pset.addPrimitive(prog9, 9) pset.addPrimitive(prog10, 10) pset.addPrimitive(prog11, 11) pset.addPrimitive(prog12, 12) pset.addPrimitive(loop2, 1) pset.addPrimitive(loop3, 1)