Вот мое решение, похожее на решение Адама, только оно не рекурсивное. :]
.
from itertools import product
from string import lowercase
def letter_generator(limit):
for length in range(1, limit+1):
for letters in product(lowercase, repeat=length):
yield ''.join(letters)
И он возвращает generator
, так что вы можете использовать цикл for
для его итерации:
for letters in letter_generator(5):
# ...
Веселись!
(Это второй раз за сегодня, когда я нашел itertools.product()
полезным. Woot.)