RRectDelta
Сценарии

Сценарии работы с кодом · Площадь объединения двух прямоугольников

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

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

Вычислите площадь объединения двух прямоугольников вдоль осей со строго возрастающими целочисленными границами. Проверьте пересечение, вложенность и касание, отклоняя нулевую площадь и обратные границы до вычислений и сохраняя исходные данные.

01

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

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

02

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

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

03

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

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

04

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

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

Площадь объединения двух прямоугольников

Конкретная отправная точка
def union_area(first, second):
    if any(type(v) not in (list, tuple) or len(v) != 4 for v in (first, second)):
        raise ValueError("rectangle.container")
    first, second = tuple(first), tuple(second)
    for rectangle in (first, second):
        if len(rectangle) != 4 or any(type(v) is not int for v in rectangle):
            raise ValueError("rectangle.integer")
        x0, y0, x1, y1 = rectangle
        if x0 >= x1 or y0 >= y1:
            raise ValueError("rectangle.bounds")
    a, b, c, d = first
    e, f, g, h = second
    overlap = max(0, min(c, g) - max(a, e)) * max(0, min(d, h) - max(b, f))
    return (c - a) * (d - b) + (g - e) * (h - f) - overlap

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

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

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

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