Множества и словари: твой первый шаг к крутым алгоритмам
Множества и словари — это как суперспособности в Python. Множество хранит только уникальные элементы, как коллекция редких значков: если у тебя уже есть такой, новый не добавится. Словарь — это как телефонная книжка: по имени (ключу) ты сразу находишь номер (значение). Вместе они помогают решать задачи быстро и красиво.
Зачем это тебе? На ЕГЭ по информатике задания на множества и словари встречаются часто, а в жизни — это основа для поиска дубликатов, подсчёта частот слов и даже для игр. Но учить их скучно по учебникам. Мы сделали иначе: ты играешь, зарабатываешь XP, соревнуешься с друзьями и прокачиваешь персонажа.
Наш наставник AI — это платформа, где каждый урок — как уровень в игре. Ты выбираешь персонажа-учителя, решаешь задачи, участвуешь в баттлах и получаешь награды. Никакой зубрёжки — только живой интерес.
Без карты, без кредитки. Выбери персонажа — учи голосом, побеждай в баттлах.
Что такое множества и словари? Разбор на примерах
Множество (set) — это коробка, в которой каждый предмет лежит в одном экземпляре. Если попытаться положить вторую такую же вещь, она не добавится. Например, у тебя есть список друзей, но ты хочешь узнать, сколько разных имён среди них. Множество сделает это за секунду.
Словарь (dict) — это как шкаф с ящиками, на каждом подписано, что внутри. Ты обращаешься по ключу и сразу получаешь значение. Например, нужно посчитать, сколько раз каждое слово встречается в тексте. Словарь идеально подходит: ключ — слово, значение — количество.
Операции с множествами: пересечение (общие элементы) и объединение (все элементы из двух множеств). Это как найти общих друзей у двух людей или собрать всех игроков из двух кланов.
Вот простая задача, чтобы попробовать:
У тебя есть два списка: ['кот', 'собака', 'попугай'] и ['собака', 'хомяк', 'кот']. Найди, какие животные есть в обоих списках.
Преврати списки в множества: set1 = {'кот', 'собака', 'попугай'}, set2 = {'собака', 'хомяк', 'кот'}. Используй пересечение: set1 & set2. Получишь {'кот', 'собака'}. Готово!
Выбери своего учителя
Каждый персонаж объясняет тему по-своему. Выбери того, кто тебе ближе:
Барсик — мудрый кот. Мурлыкает: "Множество — это миска с разными вкусняшками, каждая только одна. Словарь — твоя копилка: на каждой монетке написано, сколько она стоит." Спокойный, терпеливый.
Йорик — магистр тайных знаний. Говорит загадками: "Представь, что множество — это круг магов, где каждый уникален. Словарь — гримуар: по имени заклинания ты находишь его эффект." Интригует.
Аугмент-3000 — робот-учитель. Чётко: "Множество — структура данных с O(1) проверкой вхождения. Словарь — ассоциативный массив. Приступим к оптимизации." Для любителей точности.
Тренер 90-х — качает: "Множество — это твои уникальные навыки! Словарь — твоя база приёмов: по названию сразу выполняешь. Жми!" Энергичный.
Бабушка Зинаида — добрая, но строгая: "Множество — это набор внуков: все разные, никого не перепутаешь. Словарь — рецепты: по названию блюда знаешь ингредиенты." Уютно.
Попробуй каждого — уроки бесплатно, а премиум даёт голос персонажа.
Баттлы: сражайся с друзьями
Баттл — это квиз на 5 вопросов по теме. Ты отвечаешь на время, затем отправляешь ссылку другу. Побеждает тот, кто точнее и быстрее. Результаты влияют на недельный рейтинг.
За участие ты получаешь XP (опыт), которые повышают твой уровень. Если отвечаешь каждый день, растёт стрик — цепочка дней. Стрик даёт бонусные XP и ачивки. Например, 7 дней подряд — ачивка "Недельный герой".
А если пропустишь день? Стрик сбрасывается, рейтинг падает. Чтобы не терять форму, каждый день есть челлендж на +50 XP. Всего 2 минуты — и ты в игре.
Пример баттл-вопроса: Какое будет множество при пересечении {1,2,3} и {2,3,4}?
Ответ: {2,3}. Время: 10 секунд. Твой друг ответил за 15 секунд — ты победил!
Что будет, если не заходить?
Стрик ломается. Рейтинг падает. Но не переживай: ты можешь восстановить стрик за небольшую плату (внутриигровая валюта) или просто начать новый. Главное — не бросать учёбу. Мы присылаем напоминания, а ежедневный челлендж помогает быстро вернуться в ритм.
Кстати, домашние задания тоже есть, но они необязательны. Если делаешь их вовремя — получаешь бонусные XP. Если нет — ничего страшного, но стрик не растёт.
Пример задачи, которую решишь за 2 минуты
Попробуй прямо сейчас. Представь: у тебя есть строка "abracadabra". Нужно посчитать, сколько раз встречается каждая буква.
Решение: создай словарь. Пройди по строке: для каждой буквы, если она уже есть в словаре, увеличь значение на 1, иначе добавь с значением 1. В конце словарь покажет: {'a': 5, 'b': 2, 'r': 2, 'c': 1, 'd': 1}. Это и есть подсчёт частот — одна из главных задач на словари.
Попробуй в коде:
Напиши программу, которая считает частоту букв в слове "hello".
s = 'hello'
freq = {}
for ch in s:
if ch in freq:
freq[ch] += 1
else:
freq[ch] = 1
print(freq) # {'h':1, 'e':1, 'l':2, 'o':1}
Частые вопросы
Без карты, без кредитки. Выбери персонажа — учи голосом, побеждай в баттлах.