Валютная пара Powerset Inertools с ограничениями - PullRequest
0 голосов
/ 31 октября 2018

Я решил, что то, чего я хочу добиться, это создать набор параметров питания, и кажется, что itertools может помочь мне в этом, но мне нужно применить ряд правил, чтобы ограничить результаты.

Я хочу объединить валюты, но они представлены в валютных парах, что означает, что не все возможные комбинации или последовательности возможны.

Пример набора валют: BTC, ETH, USD, EOS, XRP, IOT

Соответствующие валютные пары: ETH-BTC, ETH-USD, EOS-ETH, IOT-ETH, BTC-USD, EOS-BTC, XRP-BTC, IOT-BTC, EOS-USD, XRP-USD, IOT-USD

Правила: Смежные валюты в последовательности должны быть действительными парами, а первая и последняя валюты в последовательности также должны быть действительными парами. Порядок пар не имеет значения (BTC-USD ≡ USD-BTC). Примеры допустимых и недействительных последовательностей: - Действительный: {BTC, USD, EOS, ETH} является допустимой последовательностью, потому что BTC-USD, EOS-USD, EOS-ETH и ETH-BTC являются действительными парами - Неверно: {BTC, USD, IOT, XRP} не является допустимой последовательностью, поскольку IOT-XRP не является допустимой парой - Неверно: {EOS, BTC, USD, IOT} не является допустимой последовательностью, поскольку первая и последняя валюты (EOS-IOT) не образуют правильную пару.

Кроме того, хотя блок питания технически представляет собой комбинации любой длины, минимальная длина последовательности должна составлять три, например {ETH, BTC, USD}, без максимальной длины.

Заранее спасибо! Я превращаю свой мозг в кашу от этого.

...