Área da união de dois retângulos
Calcule a área da união de dois retângulos alinhados aos eixos com limites inteiros estritamente crescentes.
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) - overlapModelos
Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.
Projeto
Teste sobreposição, contenção e contato, rejeitando área zero ou limites invertidos antes da aritmética e preservando as entradas.
Revise antes de aplicar
Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.
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) - overlapConecte o código geométrico aos dados que ele recebe
RectDelta oferece um ambiente de programação para Windows para discutir código geométrico como parte de uma aplicação, incluindo os limites de entrada em torno do cálculo. Abra o projeto e descreva de onde vêm as coordenadas e para que o resultado é usado. Peça ao assistente conectado que examine essas relações antes de propor uma implementação diferente da aritmética.
Para uma tarefa de união de retângulos, especifique a ordem das coordenadas, o tipo numérico aceito e o tratamento de formas que apenas se tocam. Traga retângulos contidos e sobrepostos como exemplos de entrada e discuta como limites inválidos devem ser informados. Essas decisões dão à revisão de código um objetivo concreto sem transformar o cálculo ilustrativo em uma alegação de um mecanismo geométrico integrado.
Revise a validação e a aritmética juntas e execute as verificações do projeto com formas comuns e rejeitadas. Confirme que o código chamador recebe o resultado pretendido e que as entradas permanecem disponíveis sem alterações para trabalho posterior. RectDelta se conecta a serviços suportados compatíveis com OpenAI ou da Anthropic, com credenciais quando necessário. Um modelo sem restrições pode ser escolhido onde o endpoint configurado o oferecer; as regras do provedor e as capacidades do servidor continuam regendo a conexão. Mantenha os exemplos de aceitação na conversa para que cada edição sugerida possa ser avaliada em relação ao mesmo requisito da aplicação.
Contratos geométricos antes de alterar a implementação
O que devo especificar sobre uma entrada de retângulo?
Informe a ordem das coordenadas, os tipos numéricos aceitos e se ambas as dimensões devem ser positivas. Inclua como contêineres malformados devem falhar. Assim, o assistente pode revisar todo o limite de entrada em vez de presumir que qualquer entrada de quatro valores descreve uma forma aceitável.
Por que incluir retângulos que se tocam nos casos de teste?
Eles diferenciam limites compartilhados de uma sobreposição com área positiva. Informe o resultado esperado da união e teste-o diretamente, junto com casos separados e contidos, para que a correção reflita a convenção geométrica usada pelo restante da aplicação.
A validação pode mudar durante uma limpeza da aritmética?
Pode mudar acidentalmente, por isso ambas merecem revisão. Compare casos de entradas aceitas e rejeitadas antes de manter a correção. Um cálculo mais curto não deve admitir silenciosamente limites invertidos ou tipos numéricos excluídos pelo contrato original.
Como verificar a preservação das entradas?
Guarde cópias dos contêineres de coordenadas originais e compare-os após a chamada. Se etapas posteriores da aplicação os reutilizarem, uma área correta por si só não é evidência suficiente de que a implementação proposta respeita o contrato completo.
RectDelta · Atualizado 2026-10-25