Генератор пароля

Григорий

Новичок
Пользователь
Дек 4, 2020
1
0
1
Необоходимо создать генератор пароля, учитывая следующие условия:
1. Ввод идентификатора пользователя с клавиатуры. Данный идентификатор представляет собой последовательность символов a1, a2, ..., aN, где N — количество символов идентификатора (может быть любым), ai — i-й символ идентификатора пользователя.
2. b1, ..., b1 + Q — случайные символы из множества {!, ”, #, $, %, &, ’, (, ), *}, где Q = Nmod5. Оставшиеся символы пароля, кроме b9, — случайные малые буквы английского алфавита; b9 — случайная цифра
Длина пароля - 9 символов

Не пойму, как установить в 9 символ случайную цифру?

Вот код, который сейчас есть:
Python:
import random
A1 = '!@#$%^&*()'
A2 = '1234567890'
A3 = 'qwertyuiopasdfghjklzxcvbnm'
login = str(input('Введите идентификатор: '))
all = A1 + A3
length = 9
password = "".join(random.sample(all, length))
print (password)
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 566
454
83
вам нужно заменить последний символ на цифру?
если да то вот так можно
print(password.replace(password[-1], str(random.randint(1, 9))))
 

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
Python:
from random import choices
from string import ascii_lowercase

def generate_password(user_id, n=9):
    q = len(user_id) % 5
    password = choices('!@#$%^&*()', k=q)
    password += choices(ascii_lowercase, k=n - q - 1)
    password += choices('0123456789', k=1)
    return ''.join(password)
 

Форум IT Специалистов