Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Напишите код по "Код Будущего"

- Ученик (114), на голосовании 5 месяцев назад
Нужно написать программу «Генератор сложных паролей».
Вот критерии:
- при запуске программа описывает, что она может делать;
- в коде есть два типа функций: написанные вручную и из модуля random;
- программа умеет создавать пять и более типов паролей по условиям;
- код сопровождается комментариями, описывающими назначение его частей.
Пожалуйста, памагитееее!
Голосование за лучший ответ
Mr.Hale Профи (825) 6 месяцев назад
 import random 
import string

def generate_password(length, use_uppercase, use_lowercase, use_digits, use_symbols):
"""
Генерирует пароль заданной длины с использованием указанных символов.

Args:
length: Длина пароля.
use_uppercase: Использовать ли заглавные буквы.
use_lowercase: Использовать ли строчные буквы.
use_digits: Использовать ли цифры.
use_symbols: Использовать ли символы.

Returns:
Сгенерированный пароль.
"""

character_set = ''
if use_uppercase:
character_set += string.ascii_uppercase
if use_lowercase:
character_set += string.ascii_lowercase
if use_digits:
character_set += string.digits
if use_symbols:
character_set += string.punctuation

password = ''.join(random.choice(character_set) for i in range(length))
return password

def main():
"""
Основная функция программы.
"""

print("Генератор сложных паролей.")
print("Доступные типы паролей:")
print("1. Только строчные буквы")
print("2. Строчные и заглавные буквы")
print("3. Строчные буквы и цифры")
print("4. Строчные, заглавные буквы и цифры")
print("5. Строчные, заглавные буквы, цифры и символы")
print("6. Только гласные буквы")
print("7. Только согласные буквы")

choice = int(input("Выберите тип пароля: "))

while True:
length = int(input("Введите длину пароля (минимум 8 символов): "))
if length >= 8:
break
else:
print("Длина пароля должна быть не менее 8 символов.")

if choice == 1:
password = generate_password(length, False, True, False, False)
elif choice == 2:
password = generate_password(length, True, True, False, False)
elif choice == 3:
password = generate_password(length, False, True, True, False)
elif choice == 4:
password = generate_password(length, True, True, True, False)
elif choice == 5:
password = generate_password(length, True, True, True, True)
elif choice == 6:
password = ''.join(random.choice('aeiouAEIOU') for i in range(length))
elif choice == 7:
password = ''.join(random.choice('bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ') for i in range(length))
else:
print("Неверный выбор.")
return

print("Сгенерированный пароль:", password)

if __name__ == "__main__":
main()
-Ученик (114) 6 месяцев назад
Спасибо
GGG Просветленный (36244) 6 месяцев назад
 import random 
import string

def generate_password(length, use_uppercase=True, use_lowercase=True, use_digits=True, use_symbols=True):
"""
Генерирует пароль заданной длины с использованием указанных символов.

Args:
length: Длина пароля.
use_uppercase: Использовать ли заглавные буквы.
use_lowercase: Использовать ли строчные буквы.
use_digits: Использовать ли цифры.
use_symbols: Использовать ли специальные символы.

Returns:
Сгенерированный пароль.
"""

characters = ""
if use_uppercase:
characters += string.ascii_uppercase
if use_lowercase:
characters += string.ascii_lowercase
if use_digits:
characters += string.digits
if use_symbols:
characters += string.punctuation

password = ''.join(random.choice(characters) for i in range(length))
return password

def main():
"""
Основная функция программы.
"""

print("Генератор сложных паролей")
print("------------------------")
print("Выберите тип пароля:")
print("1. Простой пароль (только строчные буквы)")
print("2. Пароль средней сложности (строчные буквы и цифры)")
print("3. Сложный пароль (строчные, заглавные буквы, цифры)")
print("4. Очень сложный пароль (строчные, заглавные буквы, цифры, символы)")
print("5. Пользовательский пароль (выберите параметры)")

choice = input("Введите номер типа пароля: ")

if choice == '1':
password = generate_password(8, use_uppercase=False, use_digits=False, use_symbols=False)
elif choice == '2':
password = generate_password(10, use_uppercase=False, use_symbols=False)
elif choice == '3':
password = generate_password(12, use_symbols=False)
elif choice == '4':
password = generate_password(16)
elif choice == '5':
length = int(input("Введите длину пароля: "))
use_uppercase = input("Использовать заглавные буквы? (да/нет): ").lower() == 'да'
use_lowercase = input("Использовать строчные буквы? (да/нет): ").lower() == 'да'
use_digits = input("Использовать цифры? (да/нет): ").lower() == 'да'
use_symbols = input("Использовать символы? (да/нет): ").lower() == 'да'
password = generate_password(length, use_uppercase, use_lowercase, use_digits, use_symbols)
else:
print("Неверный выбор.")
return

print("Ваш пароль:", password)

if __name__ == "__main__":
main()
Mr.HaleПрофи (825) 6 месяцев назад
GPT давно сносят такие LLM, как Gemini 1.5 Pro и Claude 3 Opus. Вылезай из пещеры.
Похожие вопросы