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



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

  • «l» (L маленькое);
  • «I» (i большое)
  • «1» (цифра);
  • «o» и «O» (большая и маленькая буквы);
  • «0» (цифра).

Формат входных данных
На вход программе подаются два числа n и m, каждое на отдельной строке.

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

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

Примечание 2. В каждом пароле необязательно должна присутствовать хотя бы одна цифра и буква в верхнем и нижнем регистре.

import string 
import random

def generate_password(length):
    s = ''.join([i for i in (string.printable[:62]) if i not in '10OolI'])
    return(''.join(random.sample(s, length)))
    
def generate_passwords(count):
    return[generate_password(m) for _ in range(count)]
    
n, m = int(input()), int(input())
print(*generate_passwords(n), sep='\n')


Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: