Как получить все вариации / комбинации с переменными и ограничениями? Python 3,6 - PullRequest
0 голосов
/ 03 марта 2020

Мне нужна помощь с проектом по исследованию операций, для этого мне нужны все комбинации / варианты, как показано ниже:

У меня есть четыре разных длины профиля, длиной 2,8 м; 3,2 м; 3,8 м; 4,2 м; и их совокупность дает мне общую длину -> одна комбинация, поскольку этот пример 1x 2,8 м и 1x 3,2 м и 1x 3,8 м и 0x 4,2 м дает мне 11,2 м

Теперь мне нужны все возможные комбинации этих четырех длины, но с ограничением, что максимальная общая длина составляет 12 м, а минимальная - 9,2 м

Как я могу сделать это в Python 3,6, какие возможные решения?

1 Ответ

0 голосов
/ 03 марта 2020

Это должно работать

combinations = [(a * 2.8, b * 3.2, c * 3.8, d * 4.2) 
                for a in range(2) 
                for b in range(2) 
                for c in range(2) 
                for d in range(2)]
matches = [x for x in combinations if 9.2 <= sum(x) <= 12]
...