Я пытаюсь выполнить некоторое тестирование параметров на другом коде с помощью python. Мне нужно проверить 6 независимых параметров, но мне нужны все возможные комбинации из них.
Каждый параметр имеет минимум, максимум и значение шага, которое необходимо передать ему. Первое легкое решение, появившееся в моей голове, было вложенной структурой цикла, которая выглядела ужасно, например:
for var1 in xrange(min1,max1,step1):
for var2 in xrange(min2,max2,step2):
...
...
...
for var6 in xrange(min6,max6,step6):
'''
Do something and be icky in the process due
to being in the middle of six nested for loops
'''
Я решил, нет! Это не выдерживает. Поэтому я пытался разработать способ сделать это рекурсивно или, по крайней мере, не вложенным шесть раз. Я не могу придумать хорошую схему для этого. Самое большое препятствие для меня состоит в том, что каждая переменная имеет другое значение min, max и step.
Мои мысли пока не очень полезны. Я продолжаю пытаться сделать какую-то рекурсивную функцию, но я просто не могу понять ее, не вложив больше циклов в функцию. Я видел здесь много ссылок на itertools.product, но я не могу понять, как это сделать.
Изменить: то, что я делаю, это создать каталог с именем после комбинации параметров, записать файл с этими параметрами, запустить другой код с этим файлом и проанализировать вывод из этого кода. Я не делаю ничего в буквальном смысле ни одного из циклов, за исключением последнего. Многие параметры имеют только 2 значения, у некоторых - 10, другие - 3... это просто меняется.