Вопрос задан 31.07.2026 в 09:18. Предмет Информатика. Спрашивает Иванова Аня.

Несвежие анекдоты

Ваш друг любит пересылать вам в чат анекдоты и байки, но часто забывает, какие анекдоты он уже рассказал, причём теми же словами дословно. Чтобы не отвлекаться от важных дел на старые анекдоты, вы решили написать функцию print_only_new(message), которая печатает сообщение только если вы такое сообщение ещё никогда не получали.

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

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

Отвечает Гайнанова Адель.

Задача решается с помощью хранения всех уже встречавшихся сообщений. Нам нужно каждый раз проверять: было ли такое сообщение раньше. Если нет — вывести его и добавить в список просмотренных.

Для быстрой проверки лучше использовать множество (set), так как поиск элемента в нём работает в среднем за O(1).

Python
seen_messages = set()

def print_only_new(message): if message not in seen_messages: print(message) seen_messages.add(message)

Пример работы:

Python
print_only_new("Почему программисты любят кофе?")
print_only_new("Почему программисты любят кофе?")
print_only_new("Шутка про кота")

Вывод:

Почему программисты любят кофе?
Шутка про кота

Первый анекдот выводится только при первом получении, а повторный полностью игнорируется. Множество seen_messages хранит все сообщения, которые уже были переданы функции.

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

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

Информатика 24.09.2025 06:12 18 Новожилова Аполлинария

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

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