Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
29 / 24 / 5
Регистрация: 15.10.2019
Сообщений: 268

Как ускорить выполнение программы?

17.02.2020, 22:40. Показов 1799. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from random import choice, choices
 
 
def generate_password(m):
    b = []
    pop = ''
    na = ''
    s = 'qwertyuipasdfghjkzxcvbnmQWERTYUPASDFGHJKLZXCVBNM23456789'
    s1 = 'qwertyuipasdfghjkzxcvbnm'
    s2 = 'QWERTYUPASDFGHJKLZXCVBNM'
    s3 = '23456789'
    b.append(choice(s1))
    b.append(choice(s2))
    b.append(choice(s3))
    for i in range(len(b)):
        pop += str(b[i])
    corn = ''.join(choices(s[23:47], k=m - 3))
    na = pop + corn
    # m = m.join(choices(s[47:], k=1))
    return na
 
 
def main(n, m):
    a = []
    for i in range(n):
        b = generate_password(m)
        while b in a:
            b = generate_password(m)
        a.append(b)
    return a
Добавлено через 15 минут
Условие задачи:


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

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

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

Будем считать, что параметры n и m всегда таковы, что требуемые пароли возможно сгенерировать.

Добавлено через 16 минут
нужно, чтоб было быстрее на 50ms

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from random import choice, choices
 
 
def generate_password(m):
    b = []
    z = ''
    pop = ''
    na = ''
    s = 'qwertyuipasdfghjkzxcvbnmQWERTYUPASDFGHJKLZXCVBNM23456789'
    s1 = 'qwertyuipasdfghjkzxcvbnm'
    s2 = 'QWERTYUPASDFGHJKLZXCVBNM'
    s3 = '23456789'
    z += str(choice(s1))
    z += str(choice(s2))
    z += str(choice(s3))
    corn = ''.join(choices(s, k=m - 3))
    na = z + corn
    return na
 
 
def main(n, m):
    a = []
    for i in range(n):
        b = generate_password(m)
        while b in a:
            b = generate_password(m)
        a.append(b)
    return a
Добавлено через 15 минут
размер не меняется...


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from random import choice, choices
 
 
def generate_password(m):
    s = 'qwertyuipasdfghjkzxcvbnmQWERTYUPASDFGHJKLZXCVBNM23456789'
    s1 = 'qwertyuipasdfghjkzxcvbnm'
    s2 = 'QWERTYUPASDFGHJKLZXCVBNM'
    s3 = '23456789'
    return str(choice(s1)) + str(choice(s2)) + str(choice(s3)) + ''.join(choices(s, k=m - 3))
 
 
def main(n, m):
    a = set()
    while len(a) < n:
        a.add(generate_password(m))
    return a
 
 
 
print(*main(6403, 3), sep="\n")
Добавлено через 1 минуту
Помогите, пожалуйста :c
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.02.2020, 22:40
Ответы с готовыми решениями:

Необходимо ускорить выполнение программы
Есть задача Варя создала маркированный список в текстовом процессоре. Маркерам первого уровня соответствуют символы '*', а второго -...

Ускорить ход выполнение программы
Как ускорить ход выполнения программы? a= v= n=int(input()) for i in range(n): line = input() ls = line.split() ...

Способы ускорить выполнение программы Python
Суть программы - последовательный проход по всем строкам большого log-файла (10гб) и их обработка. Python делает это предсказуемо медленно,...

3
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
17.02.2020, 23:10
Лучший ответ Сообщение было отмечено billy121 как решение

Решение

Python
1
2
3
4
s1 = 'qwertyuipasdfghjkzxcvbnm'
s2 = 'QWERTYUPASDFGHJKLZXCVBNM'
s3 = '23456789'
print(len(s1)*len(s2)*len(s3))
4608 итого у вас комбинаций может быть.
а вводите 6403.
надо буквы в пароле тоже перемешивать.
в таком виде:
Aa1
aA1
A1a
a1A
1Aa
1aA

тогда будет комбинаций 27648
1
29 / 24 / 5
Регистрация: 15.10.2019
Сообщений: 268
18.02.2020, 06:24  [ТС]
eaa, Вы(ты) просто лучший!!! Спасибо!
0
29 / 24 / 5
Регистрация: 15.10.2019
Сообщений: 268
18.02.2020, 21:32  [ТС]
все, вопрос(оч глупый) решен, сорян за беспокойство
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.02.2020, 21:32
Помогаю со студенческими работами здесь

Как ускорить работу программы
Добрый день. Программа вычисляет данные и записывает их в файл. Как можно ускорить процесс? Многопоточность поможет? import...

Как сделать эту программы ввод/вывод через sys.stdin? Хочу ускорить. В C++ это очень хорошо ускоряет?
h = {} i = 0 for _ in range(int(input())): # считывает количества списков s = input() # удаляет первое число в строке s =...

Ускорить работу программы
Ускорить работу программы a,b,p,q = map(int,input().split()) s = 0 for i in range(a,b+1): c = 1 d = 1 while...

Нужно ускорить работу программы
m=int(input()) a=input().split() b= d=0 for i in range(len(a)): b.append((2**i)/int(a)) while m!=0: m-=int(a) ...

Python 3.6 как ускорить выполнение программы?
Не так давно программирую, решаю олимпиадную задачу, но суть в том что моя программа выполняется дольше необходимого времени. Может кто...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru