10

Генерация возможных значений на Python

Товарищи программисты, помогите пожалуйста направить меня в нужное русло.

15 лет назад изучал в школе и универе Паскаль и с тех пор с программированием дел не имел. Комбинаторику также не могу вспомнить((( Решил начать изучение Питона и столкнулся с весьма тривиальной задачей. И полностью поймал ступор на этом.


В общем задача такая:


import random


first = ['1', '4', '7']

second = ['2', '5', '8']

third = ['3', '6', '9']


selection_first = random.choice(first)

selection_second = random.choice(second)

selection_third = random.choice(third)


result = selection_first + '  ' + selection_second + '  ' + selection_third

print(result)


В принципе все логично. Есть три списка по три элемента в каждом списке. Рандомно выводим значение поочередно. Теперь вопросы:


1. Как вывести первые десять комбинаций? И если комбинаций будет меньше 10 (например, у списка два на два), то вывести все комбинации.
2. Как вывести все возможные комбинации?


Я не прошу писать за меня готовый код. Просто подскажите, как в Питоне правильно реализовываются такие штуки. Готовые формулы комбинаторики уже нашел, но не могу перевести их в питоновский вид((

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу