Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
4 / 3 / 1
Регистрация: 14.01.2021
Сообщений: 13

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

22.02.2022, 21:01. Показов 1064. Ответов 2

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

Дополнительное условие: в каждом из паролей не должно быть повторяющихся символов.

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


В целом, решение задачи у меня есть, однако оно не проходит по времени(входные данные - main(3080, 2)). Прошу помочь мне с оптимизацией:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from random import sample
 
all_els = 'abcdefghijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789'
 
 
def generate_password(m):
    global all_els
    our_els = all_els[:m] if m > 10 else all_els
    password = set(sample(our_els, m))
    return ''.join(list(password))
 
 
def main(n, m):
    res = set()
    while len(res) < n:
        res.add(generate_password(m))
    return list(res)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.02.2022, 21:01
Ответы с готовыми решениями:

Генератор визуально различимых паролей (B)
Генератор визуально различимых паролей (B) Ограничение времени 5 секунд Ограничение памяти 64Mb Ввод стандартный ввод или...

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

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

2
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
23.02.2022, 06:16
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from random import sample
import string
symbols = string.ascii_letters + string.digits
symbols = [ x for x in symbols if x not in 'lI1oO0' ]
#==============================================================================
def generate_password(m):
    return ''.join( sample(symbols, m) )
#==============================================================================
def main(n, m):
    return [ generate_password(m) for i in range(n) ]
#==============================================================================
n = int( input( 'n = ' ) )
m = int( input( 'm = ' ) )
print( main(n,m) )
1
0 / 0 / 0
Регистрация: 23.02.2022
Сообщений: 1
23.02.2022, 10:36
import string
import random

let = set(string.ascii_letters) - set('lIoO')
di = set(string.digits) - set('10')
ld = let | di


def generate_password(m):
p = ''.join(random.sample(list(ld), k=m))
return p


def main(n, m):
passes = set()
while len(passes) != n:
passes.add(generate_password(m))
return list(passes)
у меня вот это прошло
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.02.2022, 10:36
Помогаю со студенческими работами здесь

Генератор паролей, функция генератор
import random from string import ascii_lowercase, ascii_uppercase random.seed(1) def randompassword(n): chars =...

Генератор паролей
Написать программу-генератор паролей в соответствии с требованиями. Программа должна выполнять следующие действия: а. Ввод...

Генератор паролей
Написать программу-генератор паролей в соответствии с требованиями. Программа должна выполнять следующие действия: а. Ввод...

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru