Войти Создать аккаунт

Файлы · 17 из 24

Вернуть час на место

Дело о лишнем часе. Стас понял главное: в три часа ночи часы сервера откатились на час назад, и всё, что записано после, отстаёт ровно на час. Кофейне, регистратуре и школе нужен исправленный журнал. Подлинник трогать нельзя: его попросят как есть, если дойдёт до разбирательства.

Что сделать

Перепишите журнал в новый файл, прибавив час ко времени строк — начиная с той, где время пошло назад.

Что приходит

  • iz_fayla — путь к журналу

  • v_fayl — путь к новому файлу; если такой уже есть, его надо переписать заново

Что вернуть

Сколько строк исправлено; в v_fayl — весь журнал, у исправленных строк — новое время.

Допишите функцию ispravit в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

Пример

В журнале четыре строки: две в 02:58 и 02:59, потом 02:00:10 и 02:01:00 — время пошло назад на третьей. В новый файл первые две строки ложатся как были, третья и четвёртая — с временем 03:00:10 и 03:01:00. Функция возвращает 2.

В проверке журнал записывается во временную папку, а после вызова тест читает, что получилось в новом файле.

Тот же пример кодом
Перед вызовом
import os, tempfile
papka = tempfile.mkdtemp()
iz = os.path.join(papka, "noch.log")
v = os.path.join(papka, "ispravlennyy.log")
with open(iz, "w", encoding="utf-8") as f:
    f.write("2026-10-25 02:58:00 kassa: чек 1040\n"
            "2026-10-25 02:59:30 shkola: синхронизация\n"
            "2026-10-25 02:00:10 kassa: чек 1041\n"
            "2026-10-25 02:01:00 registratura: запись\n")
Вызов
(ispravit(iz, v), open(v, encoding="utf-8").read())
Вернуть
(2, '2026-10-25 02:58:00 kassa: чек 1040\n2026-10-25 02:59:30 shkola: синхронизация\n2026-10-25 03:00:10 kassa: чек 1041\n2026-10-25 03:01:00 registratura: запись\n')
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.