Здравствуйте уважаемые посетители и разработчики!
Есть задачка на создание всех возможных паролей методом рекурсии. Так как я в изучении языка новичок, к как не бился не получается решить эту задачу.
Условия - есть произвольный словарь/алфавит символов и есть произвольная длина пароля. Нужно сделать базу всех возможных паролей. Т.е. по сути перебор всех значений (рекурсия по 2-хмерному массиву неопределенной длины), включая(!) отдельные символы алфавита. Например имеем:
alf = ‘abcdefghijklmnopqrstuvwxyz’
count = 2
# тогда всевозможное количество вариантов будет равно:
all_count = count**len(alf) + len(alf)
# Переменная, где будут храниться все значения
allpassw =
# сама рекурсионная функция
def recursion(dic, n):
global allpassw
if n <= 0: return 1
else:
for i in dic: allpassw.append(i)
return allpassw+recursion(dic, n-1)
# Вызываем процедуру
recursion(alf, count)
# Печатаем результат
print allpassw
Второй вариант, который я рассматривал был связан с функциями-генераторами (yield).
Но, к сожалению так ничего не получилось.
Подскажите, как решить эту задачу или где можно почитать об этой теме. Спасибо.