Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 03 марта 2026 10:51

Составь цепочку функций удали будильники по будня, поставь будильник в воскресенье в 10 утра

Ответ нейросети

03 марта 2026 10:51

Задача понятна: удалить все будильники, которые выставлены по будням (понедельник–пятница), а затем поставить новый будильник на воскресенье в 10:00. Ниже даю понятное решение на языке Python с пошаговым объяснением и примером.

Что сделаем

  • Определим структуру будильника (id, день недели, время, подпись).
    • День недели: 0 = понедельник, 1 = вторник, ..., 6 = воскресенье.
  • Функция delete_alarms_by_days: удаляет будильники по заданным дням (будни = 0..4).
  • Функция alarm_exists: чтобы не дублировать будильник.
  • Функция add_alarm: добавляет новый будильник, если его ещё нет.
  • Цепочка функций run_chain: сначала удаляем будильники по будням, затем добавляем воскресный будильник на 10:00.

Пример кода (прикладной, без привязки к конкретной системе)

  • Важно: время задаём в 24-часовом формате. День недели: 0–6 (понедельник–воскресенье).
  1. Код

from dataclasses import dataclass from typing import List, Set

@dataclass class Alarm: id: int day: int # 0 = понедельник, ..., 6 = воскресенье hour: int # 0-23 minute: int # 0-59 label: str = ""

def delete_alarms_by_days(alarms: List[Alarm], days_to_delete: Set[int]) -> List[Alarm]: # Возвращает новый список без будильников на указанных днях return [a for a in alarms if a.day not in days_to_delete]

def alarm_exists(alarms: List[Alarm], day: int, hour: int, minute: int) -> bool: for a in alarms: if a.day == day and a.hour == hour and a.minute == minute: return True return False

def add_alarm(alarms: List[Alarm], day: int, hour: int, minute: int = 0, label: str = "") -> List[Alarm]: # Добавляет новый будильник, если такого ещё нет if alarm_exists(alarms, day, hour, minute): return alarms new_id = max((a.id for a in alarms), default=0) + 1 return alarms + [Alarm(new_id, day, hour, minute, label)]

def run_chain(alarms: List[Alarm]) -> List[Alarm]: # 1) Удаляем все будильники по будням (понедельник–пятница) weekdays = {0, 1, 2, 3, 4} alarms = delete_alarms_by_days(alarms, weekdays) # 2) Добавляем будильник на воскресенье в 10:00 day_sunday = 6 alarms = add_alarm(alarms, day_sunday, 10, 0, "Воскресенье 10:00") return alarms

Дополнительно: функция печати для наглядности

def print_alarms(alarms: List[Alarm]) -> None: day_names = ["Понедельник","Вторник","Среда","Четверг","Пятница","Суббота","Воскресенье"] for a in alarms: print(f"ID {a.id} - {day_names[a.day]} {a.hour:02d}:{a.minute:02d} - {a.label}")

Демонстрация

initial_alarms = [ Alarm(101, 0, 7, 0, "Понедельник будильник"), Alarm(102, 2, 8, 0, "Среда будильник"), Alarm(103, 5, 9, 0, "Суббота будильник"), Alarm(104, 6, 8, 0, "Воскресенье утро"), ]

print("До:") print_alarms(initial_alarms)

result = run_chain(initial_alarms)

print("\nПосле цепочки:") print_alarms(result)

  1. Как это работает (пояснение по шагам)
  • Удаление будильников по будням:
    • Мы задаём days_to_delete равным сету {0,1,2,3,4} (понедельник–пятница).
    • Функция delete_alarms_by_days проходит по всем будильникам и оставляет только тех, чьё day не входит в этот набор.
  • Добавление воскресного будильника:
    • Мы целимся на day = 6 (воскресенье) и время hour = 10, minute = 0.
    • Функция add_alarm сначала проверяет, нет ли уже будильника на то же время в тот же день (alarm_exists). Если есть — ничего не добавляет; если нет — добавляет новый будильник и назначает уникальный id.
  • Цепочка вызывает сначала удаление, потом добавление, что и соответствует задаче: сначала очистить будни, затем установить воскресенье на 10:00.
  1. Пример ожиданий по результату
  • До: были будильники на понедельник, среду, субботу и воскресенье.
  • После цепочки: удалены будильники на понедельник–пятницу, оставлены будильники на субботу и воскресенье (если они были), и добавлен новый будильник на воскресенье 10:00.
  • В итоге может оказаться два воскресных будильника: существующий воскресенье и новый воскресенье 10:00 (если исходно был другой вечер). Благодаря проверке на дубликаты новые дубликаты не добавятся, если время и день совпадают.
  1. Примечания и адаптация
  • День недели по умолчанию: 0 = понедельник, 6 = воскресенье. Это удобно для большинства примеров и соответствует описанию.
  • Время задаётся в 24-часовом формате (hour 0–23, minute 0–59).
  • Если нужно адаптировать под другую платформу (например, JavaScript, Java и т. п.), принцип остаётся тем же: фильтрация по дням и добавление нового элемента, с проверкой дубликатов.
  • Если хотите, могу привести аналогичный пример на JavaScript или псевдокод без привязки к конкретной реализации.

Если нужно, могу адаптировать код под другую структуру данных или добавить дополнительные проверки (например, удаление только будних будильников с определённой подписью, или перенос существующих на другое время).

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

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

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

составь цепочку функций удали будильники по будня, поставь будильник в воскресенье в 10 утра
Задача понятна: удалить все будильники, которые выставлены по будням (понедельник–пятница), а затем поставить новый будильник на воскресенье в 10:00. Ниже даю понятное решение на языке Python с пошаговым объяснением и примером. Что сделаем - Определим структуру будильника (id, день недели, время, подпись). - День недели: 0 = понедельник, 1 = вторник, ..., 6 = воскресенье. - Функция delete_alarms_by_days: удаляет будильники по заданным дням (будни = 0..4). - Функция alarm_exists: чтобы не дублировать будильник. - Функция add_alarm: добавляет новый будильник, если его ещё нет. - Цепочка функций run_chain: сначала удаляем будильники по будням, затем добавляем воскресный будильник на 10:00. Пример кода (прикладной, без привязки к конкретной системе) - Важно: время задаём в 24-часовом формате. День недели: 0–6 (понедельник–воскресенье). 1) Код from dataclasses import dataclass from typing import List, Set @dataclass class Alarm: id: int day: int # 0 = понедельник, ..., 6 = воскресенье hour: int # 0-23 minute: int # 0-59 label: str = "" def delete_alarms_by_days(alarms: List[Alarm], days_to_delete: Set[int]) -> List[Alarm]: # Возвращает новый список без будильников на указанных днях return [a for a in alarms if a.day not in days_to_delete] def alarm_exists(alarms: List[Alarm], day: int, hour: int, minute: int) -> bool: for a in alarms: if a.day == day and a.hour == hour and a.minute == minute: return True return False def add_alarm(alarms: List[Alarm], day: int, hour: int, minute: int = 0, label: str = "") -> List[Alarm]: # Добавляет новый будильник, если такого ещё нет if alarm_exists(alarms, day, hour, minute): return alarms new_id = max((a.id for a in alarms), default=0) + 1 return alarms + [Alarm(new_id, day, hour, minute, label)] def run_chain(alarms: List[Alarm]) -> List[Alarm]: # 1) Удаляем все будильники по будням (понедельник–пятница) weekdays = {0, 1, 2, 3, 4} alarms = delete_alarms_by_days(alarms, weekdays) # 2) Добавляем будильник на воскресенье в 10:00 day_sunday = 6 alarms = add_alarm(alarms, day_sunday, 10, 0, "Воскресенье 10:00") return alarms # Дополнительно: функция печати для наглядности def print_alarms(alarms: List[Alarm]) -> None: day_names = ["Понедельник","Вторник","Среда","Четверг","Пятница","Суббота","Воскресенье"] for a in alarms: print(f"ID {a.id} - {day_names[a.day]} {a.hour:02d}:{a.minute:02d} - {a.label}") # Демонстрация initial_alarms = [ Alarm(101, 0, 7, 0, "Понедельник будильник"), Alarm(102, 2, 8, 0, "Среда будильник"), Alarm(103, 5, 9, 0, "Суббота будильник"), Alarm(104, 6, 8, 0, "Воскресенье утро"), ] print("До:") print_alarms(initial_alarms) result = run_chain(initial_alarms) print("\nПосле цепочки:") print_alarms(result) 2) Как это работает (пояснение по шагам) - Удаление будильников по будням: - Мы задаём days_to_delete равным сету {0,1,2,3,4} (понедельник–пятница). - Функция delete_alarms_by_days проходит по всем будильникам и оставляет только тех, чьё day не входит в этот набор. - Добавление воскресного будильника: - Мы целимся на day = 6 (воскресенье) и время hour = 10, minute = 0. - Функция add_alarm сначала проверяет, нет ли уже будильника на то же время в тот же день (alarm_exists). Если есть — ничего не добавляет; если нет — добавляет новый будильник и назначает уникальный id. - Цепочка вызывает сначала удаление, потом добавление, что и соответствует задаче: сначала очистить будни, затем установить воскресенье на 10:00. 3) Пример ожиданий по результату - До: были будильники на понедельник, среду, субботу и воскресенье. - После цепочки: удалены будильники на понедельник–пятницу, оставлены будильники на субботу и воскресенье (если они были), и добавлен новый будильник на воскресенье 10:00. - В итоге может оказаться два воскресных будильника: существующий воскресенье и новый воскресенье 10:00 (если исходно был другой вечер). Благодаря проверке на дубликаты новые дубликаты не добавятся, если время и день совпадают. 4) Примечания и адаптация - День недели по умолчанию: 0 = понедельник, 6 = воскресенье. Это удобно для большинства примеров и соответствует описанию. - Время задаётся в 24-часовом формате (hour 0–23, minute 0–59). - Если нужно адаптировать под другую платформу (например, JavaScript, Java и т. п.), принцип остаётся тем же: фильтрация по дням и добавление нового элемента, с проверкой дубликатов. - Если хотите, могу привести аналогичный пример на JavaScript или псевдокод без привязки к конкретной реализации. Если нужно, могу адаптировать код под другую структуру данных или добавить дополнительные проверки (например, удаление только будних будильников с определённой подписью, или перенос существующих на другое время).