Цикл для всех возможных комбинаций из 3 переменных

У меня есть немного кода, который запускает некоторую статистику для движущегося 3D-окна разного размера. Я создал цикл, чтобы сделать это с шагом 5 от 5 до 50, как показано ниже.

Например, сначала X = 5, Y = 5, Z = 5, затем X = 10, Y = 10, z = 10 и т. д.

Это прекрасно работает, но я хотел бы запустить цикл со всеми возможными комбинациями X, Y и Z с шагом 5.

Например

X  Y  Z
5  5  5
10 5  5
15 5  5
.. .. ..
50 5  5
5  10 5
5  15 5
5  20 5
.. .. ..
10 10 5
10 15 5

так далее,

так что в целом это будет 1000 возможных комбинаций, я думаю

Могу ли я сделать это с помощью чего-то вроде itertools.permutations?

Я новичок в python и кодировании, поэтому помощь будет очень признательна

#python code
sizeX = (0)
sizeY = (0)
sizeZ = (0)
count = (0)

for i in range(0,10):
 count = (count + 1)           
 sizeX = (sizeX + 5)
 sizeY = (sizeY + 5)
 sizeZ = (sizeZ + 5) 

#run the code

Непонятно, что вы подразумеваете под "все возможные комбинации X, Y и Z с шагом 5". Можете ли вы показать ожидаемый результат/пример?

Austin 29.05.2019 19:59
range(0,55,5) подарит вам 0,5,10,..,50. Вы можете комбинировать такие диапазоны с функциями itertools.
Blorgbeard 29.05.2019 20:00

Вы не ищете перестановок (различных способов упорядочивания вещей); вы ищете разные способы рисования из 3 разных наборов (декартово произведение).

Scott Hunter 29.05.2019 20:00

Спасибо всем за удивительно быстрые ответы. Картезианские произведения звучат как то, что я ищу. Я добавлю пример ожидаемого результата.

georich 29.05.2019 20:11
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
4
461
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы точно знаете, что у вас будет 3 переменные, вы можете использовать вложенные циклы for с range:

for i in range(5, 55, 5):
    for j in range(5, 55, 5):
        for k in range(5, 55, 5):
            print(i, j, k)

Другие вопросы по теме