Наличие генератора паролей использует пользовательский ввод для генерации пароля с заданными параметрами.Python

Программы на Python
Anonymous
Наличие генератора паролей использует пользовательский ввод для генерации пароля с заданными параметрами.

Сообщение Anonymous »

Я пытаюсь создать программу-генератор паролей, в которой пользователь может выбрать, например, 8 специальных символов, 5 заглавных букв и 10 строчных букв для создания пароля. Таким образом, в приведенном выше примере пароль будет состоять из 23 символов с 8 специальными символами, 5 заглавными буквами и 10 строчными буквами. У меня есть введенные данные, но я не уверен, как заставить программу узнать, что, например, 8 специальных символов будут 8 случайными символами из string.punctuation, например.
Это пример кода того, как я прошу пользователя ввести данные.

Код: Выделить всё

while True:
try:
lower = list(string.ascii_lowercase)
lower_low = 6
lower_high = 24
lower_choice = int(input("How many lower case letters would you like in your password? "))
if lower_choicelower_high:
print("The selection must be" ,lower_low,"or higher or", lower_high,"and lower. Please choose again. ")
continue
break
except ValueError:
print("Invalid input. Please try again.")

print("You have choosen", lower_choice,"lowercase letters to be used in your password.")
Я попробовал создать функцию, подобную приведенной ниже, чтобы посмотреть, будет ли она принимать вводимые пользователем данные и сопоставлять число, например, с string.punctuation, а затем создавать случайный выбор на основе но я ошибаюсь.

Код: Выделить всё

def password_gen():
special = (string.punctuation)
lower_choice = (string.ascii_lowercase)
upper_choice = (string.ascii_uppercase)
password = ''
for p in range(38):
password += random.choice(special+lower_choice+upper_choice)
return password
password = password_gen

print(password)
На что мне следует обратить внимание в первую очередь, чтобы указать правильное направление?

Подробнее здесь: https://stackoverflow.com/questions/786 ... rd-with-se

Вернуться в «Python»