#python #python-3.x #linux #itertools #word-list
#python #python-3.x #linux #itertools #список слов
Вопрос:
На самом деле я создаю инструмент, который принимает минимальную длину и максимальную длину, а затем символы для использования, а затем в заданных критериях он записывает все возможные комбинации в список слов, но есть ли способ узнать, сколько комбинаций можно создать, используя минимальную длину, максимальную длину и символы
Мой код:
import itertools
min_len = int(input("Min Len: "))
max_len = int(input("Max Len: "))
characters = str(input("Characters To use: "))
for n in range(min_len, max_len 1):
for xs in itertools.product(characters, repeat=n):
word = ''.join(xs)
print(f"Writing {word}")
Я на Python3.8, Linux
Заранее спасибо за помощь!
Комментарии:
1. Чтобы было ясно, вы просто хотите знать количество комбинаций?
Ответ №1:
Учитывая w
символы, вы можете создавать w**n
строки длины n
. Итак, вы ищете w**min_length ...... w**max_length
Ответ №2:
Этот код будет работать…
from itertools import chain, combinations
min_len = int(input("Min Len: "))
max_len = int(input("Max Len: "))
characters = str(input("Characters To use: "))
combination = list(chain.from_iterable(combinations(characters, i) for i in range(min_len, max_len 1)))
for comb in combination:
print("".join(comb))