Вопрос задан 08.10.2026 в 06:08. Предмет Информатика. Спрашивает Базина Софья.

Python. Назовём пароль криптостойким, если выполнены 5 критериев: 1. Пароль содержит строчные латинские буквы. 2. Пароль содержит заглавные латинские буквы. 3. Пароль содержит цифры. 4. Пароль содержит символы: ! " # $ % & ' ( ) * + 5. Длина пароля не менее 8 символов. Требуется по данному паролю определить, сколько критериев криптостойкости выполнено. Входные данные: вводится одна строка, состоящая только из латинских букв, цифр и символов из условия. Количество символов в строке не превышает 100. Выходные данные: выведите количество критериев криптостойкости, которым удовлетворяет пароль.

Перейти к ответам

Ответы на вопрос

Отвечает Таумарк Ренат.

Нужно проверить каждый из 5 критериев отдельно и посчитать, сколько из них выполнено.

Так как строка содержит только разрешённые символы, достаточно пройти по всем символам пароля и запомнить, встречались ли:

  • строчные латинские буквы (a-z);
  • заглавные латинские буквы (A-Z);
  • цифры (0-9);
  • специальные символы из набора !"#$%&'()*+.

Длину проверяем отдельно.

Решение на Python:

Python
password = input()

count = 0

has_lower = False
has_upper = False
has_digit = False
has_special = False

special = '!\"#$%&\'()*+'

for ch in password:
if 'a' <= ch <= 'z':
has_lower = True
elif 'A' <= ch <= 'Z':
has_upper = True
elif '0' <= ch <= '9':
has_digit = True
elif ch in special:
has_special = True

if has_lower:
count += 1

if has_upper:
count += 1

if has_digit:
count += 1

if has_special:
count += 1

if len(password) >= 8:
count += 1

Сложность алгоритма — O(n), где n — длина пароля. Поскольку длина строки не превышает 100 символов, такой способ легко укладывается в ограничения.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос