Трекер привычек · Шаг 2 из 4
Серия дней подряд
Ради серии привычку и не бросают: пять дней подряд жалко прерывать. Утром, пока зарядка ещё не сделана, серия не прервана — она живёт со вчерашнего дня. А вот если вчера пропущено — всё, начинай сначала. Лучшую серию тоже хочется видеть: есть с чем сравнить.
Что сделать
Посчитайте текущую серию дней подряд и самую длинную за всё время.
Что приходит
dni— дни с отметками,datetime.date; в любом порядке, бывают повторыsegodnya— какое сегодня число
Что вернуть
Пару целых (текущая, лучшая) — сколько дней подряд.
Допишите функцию serii в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
В проекте
Программа зовёт serii для каждой привычки на команду «серии» и печатает таблицу. Решите шаг — и станет видно, сколько дней подряд вы держитесь.
Сегодня 31 октября; отмечены 29, 30 и 31 октября — серия из трёх дней, она же лучшая: (3, 3).
from datetime import date dni = [date(2026, 10, 29), date(2026, 10, 30), date(2026, 10, 31)]
serii(dni, date(2026, 10, 31))
(3, 3)
Дни позже segodnya не считаются вовсе. Повторы — один и тот же день.
Текущая серия — сколько дней подряд с отметкой, считая назад от сегодня. Если сегодня не отмечено, но отмечено вчера, — серия считается от вчера: день ещё не кончился. Если не отмечены ни сегодня, ни вчера — текущая серия 0.
Лучшая — самая длинная цепочка дней подряд среди всех отметок. Текущая в неё тоже входит.
Нет отметок — (0, 0).
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.