#############################################################################
# ЗАДАНИЕ от 20190929:
# Генератор пароля ( использовать нужно числа ,буквы и различные спец символы)
# ПОЯСНЕНИЕ:
# Разрешенные символы для пароля
# Заглавные латинские буквы: от A до Z (26 символов)
# Строчные латинские буквы: от a до z (26 символов)
# Цифры от 0 до 9 (10 символов)
# Символы: ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _` { | } ~ (32 символа*)
# Ссылка на ресурс:
# http://support.ricoh.com/bb_v1oi/pub_e/oi_view/0001050/0001050883/view/security/int/0010.htm
# * - в ресурсе сказано, что можно использовать пробел, но я его удалил.
#############################################################################
import random

# Шапка программы
print("Генератор паролей - v. 0.1", '\n', '--------------------------')

# Запрос длины пароля
lenght_pas = input('Введите длину генерируемого пароля: ')
while True:
    if not lenght_pas.isdecimal():
        print('Ошибка ввода!')
        print('Используйте только целые положительные числа при вводе длины пароля.')
        lenght_pas = input('Введите длину генерируемого пароля: ')
        continue
    else:
        lenght_pas = int(lenght_pas)
        if lenght_pas <= 0:
            print('Длина пароля не может быть меньше одного символа.')
            lenght_pas = input('Введите длину генерируемого пароля: ')
            continue
        else:
            break

# Запрос количества паролей
count_pas = input('Введите необходимое количество паролей: ')
while True:
    if not count_pas.isdecimal():
        print('Ошибка ввода!')
        print('Используйте только целые положительные числа при вводе необходимого количества паролей.')
        count_pas = input('Введите необходимое количество паролей: ')
        continue
    else:
        count_pas = int(count_pas)
        if count_pas <= 0:
            print('Количество паролей не может быть меньше одного.')
            count_pas = input('Введите необходимое количество паролей: ')
            continue
        else:
            print("Данные получены.", '\n', '--------------------------', '\n', 'Сгенерированные пароли', '\n', '--------------------------')
            break


# Генерация и вывод паролей
new_pass = ''
for i in range(1,count_pas+1):
    for j in range(1, lenght_pas+1):
         new_pass = new_pass + chr(random.randint(33, 126))
    print(new_pass)
    new_pass = ''



