# Вопрос 1: Исходный код выводит 4.
def analyze_trace_fixed(actions):
# Задайте подозрительные ключевые слова.
suspicious = ['admin', 'root', 'sudo', 'password']
# Создайте множество для хранения найденных ключевых слов.
# Множество (set) автоматически гарантирует уникальность.
found_keywords = set()
# Переберите все действия из списка actions.
for act in actions:
# Для каждого действия выполните проверку без учёта регистра.
act_lower = act.lower()
# Проверьте, какие подозрительные ключевые слова встречаются в действии.
for word in suspicious:
if word in act_lower:
# Добавляйте найденные ключевые слова.
# Если слово уже есть во множестве, оно не добавится второй раз.
found_keywords.add(word)
# Верните количество уникальных найденных ключевых слов.
return len(found_keywords)
# Код для проверки (в тренажере он может быть скрыт, но покажет правильный результат)
trace = [
'user login',
'admin access',
'admin settings',
'root shell',
'sudo command',
'ADMIN panel'
]
print(analyze_trace_fixed(trace)) # Выведет 3 (admin, root, sudo)