Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Програмист
4 / 5 / 0
Регистрация: 02.12.2019
Сообщений: 53
Записей в блоге: 1

Генератор визуально различимых паролей (базовый)

20.05.2020, 14:54. Показов 2118. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Требуется по запросу выдавать N различных паролей длиной M символов, состоящих из строчных и прописных латинских букв и цифр, кроме тех, которые легко перепутать между собой: «l» (L маленькое), «I» (i большое), «1» (цифра), «o» и «O» (большая и маленькая буквы) и «0» (цифра).

Решение должно содержать две функции: вспомогательную generate_password(m), возвращающую случайный пароль длиной m символов, и основную main(n, m), возвращающую список из n различных паролей, каждый длиной m символов.

Будем считать, что параметры n и m всегда таковы, что требуемые пароли возможно сгенерировать.
Формат ввода
Пример вызова ваших функций для тестирования:

print("Случайный пароль из 7 символов:", generate_password(7))
print("10 случайных паролей длиной 15 символов:")
print(*main(10, 15), sep="\n")
Формат вывода
Пример результатов:

Случайный пароль из 7 символов: fJv6cWX
10 случайных паролей длиной 15 символов:
FRkRUfn7FZmUCZH
rBaLXLkxagbgXjp
hPBDSD6eyxA2CjD
rUQSjd4sE28teWQ
mZwMxeGPfcim2yH
wF2mPU8y5mw5E3b
bjFS5wzfMPHj5cs
nwwYAY9gdJyRkHG
ts7mH3nCDeJY6Ns
dDCdGXcE8PXaMhb


Мой код:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from random import choices
 
s = list('abcdefghijkmnpqrstuvwxyzABCDEFGHJKLMNPQSTUVWXYZ23456789')
 
 
def generate_password(m):
    return ''.join(choices(s, k=m))
 
 
def main(n, m):
    my_list = set()
    for _ in range(n):
        my_list.add(generate_password(m))
    return my_list

Выдаёт ошибку:

Ошибка
Traceback (most recent call last):
File "test.py", line 13, in <module>
assert len(passwords) == n, "не то количество паролей"
AssertionError: не то количество паролей
make: *** [run] Error 1

Ввод
10 1

Ожидаемый результат
ok

Вывод
Makefile:5: recipe for target 'run' failed
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.05.2020, 14:54
Ответы с готовыми решениями:

Задача "Генератор визуально различимых паролей (базовый)", не могу понять ошибку в решении
Условие Требуется по запросу выдавать N различных паролей длиной M символов, состоящих из строчных и прописных латинских букв и цифр,...

Генератор визуально различимых паролей (A + B)
есть такой код, но не проходит по времени, подскажите, как можно оптимизировать # -*- coding: utf-8 -*- import random def...

Генератор визуально различимых паролей(В)
Всем добрый день, возникла проблема с задачей. Требуется по запросу выдавать N различных паролей длиной M символов,...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.05.2020, 14:54
Помогаю со студенческими работами здесь

Генератор визуально различимых паролей
Требуется по запросу выдавать N различных паролей длиной M символов, состоящих из строчных и прописных латинских букв и цифр, кроме тех,...

Генератор визуально различимых паролей (B)
Требуется по запросу выдавать N различных паролей длиной M символов, состоящих из строчных и прописных латинских букв и цифр, кроме тех,...

Генератор визуально различимых паролей
Требуется по запросу выдавать N различных паролей длиной M символов, состоящих из строчных и прописных латинских букв и цифр, кроме тех,...

Генератор визуально различимых паролей (A + B)
Требуется по запросу выдавать N различных паролей длиной M символов, состоящих из строчных и прописных латинских букв и цифр, кроме тех,...

Нужно исправить программу(Генератор визуально различимых паролей (A + B)
Помогите пожалуйста исправить программу. Вот условие задачи: Требуется по запросу выдавать N различных паролей длиной M символов,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru