TTickFable
Сценарии

Сценарии работы с кодом · Строгие записи длительности

03
Вокруг ваших задач

Конкретная отправная точка

Разберите целое число ASCII с суффиксом ms, s, m или h в миллисекунды с пределом одни сутки. Проверьте ноль и суточную границу, отклоняя ведущие нули, дроби, пробелы и неизвестные единицы.

01

Откройте контекст

Выберите папку проекта и обозначьте нужные файлы или поведение.

02

Опишите изменение

Укажите входные данные, ожидаемый результат и границы, которые нужно сохранить.

03

Изучите работу

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

04

Проверьте результат

Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.

Строгие записи длительности

Конкретная отправная точка
import re

def duration_ms(text):
    if not isinstance(text, str):
        raise ValueError("duration.text")
    match = re.fullmatch(r"(0|[1-9][0-9]{0,8})(ms|s|m|h)", text)
    if not match:
        raise ValueError("duration.syntax")
    result = int(match[1]) * {"ms": 1, "s": 1000, "m": 60000, "h": 3600000}[match[2]]
    if result > 86400000:
        raise ValueError("duration.range")
    return result

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

Рабочая среда с ИИ для кода

Здесь начинается ваше следующее изменение.

Скачать для Windows ↗