| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Общие вопросы > Рекурсионный генератор паролей |
| Автор: bi01 20.5.2012, 10:37 |
| Здравствуйте уважаемые посетители и разработчики! Есть задачка на создание всех возможных паролей методом рекурсии. Так как я в изучении языка новичок, к как не бился не получается решить эту задачу. Условия - есть произвольный словарь/алфавит символов и есть произвольная длина пароля. Нужно сделать базу всех возможных паролей. Т.е. по сути перебор всех значений (рекурсия по 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). Но, к сожалению так ничего не получилось. Подскажите, как решить эту задачу или где можно почитать об этой теме. Спасибо. |
| Автор: Karadul 20.5.2012, 15:38 | ||
|
| Автор: bi01 20.5.2012, 22:57 |
| Karadul, спасибо за предложенный вариант. То что нужно! |
| Автор: Karadul 21.5.2012, 00:03 |
| Спасибо в репу скажи. |
| Автор: bi01 21.5.2012, 23:47 |
| Мало постов на этом форуме. Пока не могу |