พื้นที่รวมของสี่เหลี่ยมสองรูป
คำนวณพื้นที่รวมของสี่เหลี่ยมขนานแกนสองรูปที่มีขอบจำนวนเต็มเพิ่มขึ้นอย่างเคร่งครัด.
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โมเดล
ตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย URL หลักและคีย์ API หากจำเป็น ทดสอบการเชื่อมต่อ เซิร์ฟเวอร์โมเดลในเครื่องต้องทำงานอยู่ เครื่องมือระยะไกลอาจส่งข้อมูลแยกต่างหาก
โปรเจกต์
ทดสอบการซ้อน การอยู่ภายในและการสัมผัส พร้อมปฏิเสธพื้นที่ศูนย์หรือขอบกลับด้านก่อนคำนวณและรักษาข้อมูลเดิม.
ตรวจสอบก่อนนำไปใช้
เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม
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เชื่อมโค้ดเรขาคณิตกับข้อมูลที่รับ
RectDelta ให้พื้นที่ทำงานเขียนโค้ดบน Windows เพื่อพิจารณาโค้ดเรขาคณิตในบริบทแอปพลิเคชัน รวมถึงขอบเขตข้อมูลเข้ารอบการคำนวณ เปิดโครงการและอธิบายว่าพิกัดมาจากที่ใดและนำผลไปใช้อะไร ขอให้ผู้ช่วยที่เชื่อมต่อตรวจความสัมพันธ์ก่อนเสนอวิธีเขียนเลขคณิตใหม่
สำหรับงานพื้นที่รวมสี่เหลี่ยม ให้ระบุลำดับพิกัด ชนิดตัวเลขที่รับ และการจัดการรูปที่เพียงแตะกัน นำสี่เหลี่ยมที่อยู่ภายในกันและทับซ้อนกันเป็นตัวอย่าง แล้วพิจารณาว่าควรรายงานขอบเขตผิดอย่างไร การตัดสินใจเหล่านี้ให้เป้าหมายตรวจโค้ดชัดเจนโดยไม่ทำให้การคำนวณตัวอย่างกลายเป็นคำอ้างว่ามีระบบเรขาคณิตในตัว
ตรวจการตรวจสอบข้อมูลและเลขคณิตร่วมกัน แล้วรันการตรวจโครงการทั้งรูปปกติและรูปที่ถูกปฏิเสธ ยืนยันว่าผู้เรียกได้ผลที่ต้องการและข้อมูลเข้ายังอยู่ไม่เปลี่ยนสำหรับงานถัดไป RectDelta เชื่อมต่อบริการที่รองรับซึ่งเข้ากันได้กับ OpenAI หรือ Anthropic พร้อมข้อมูลรับรองเมื่อจำเป็น เลือกโมเดลไม่จำกัดได้เมื่อปลายทางที่ตั้งค่ามีให้ กฎผู้ให้บริการและความสามารถเซิร์ฟเวอร์ยังควบคุมการเชื่อมต่อ เก็บตัวอย่างตรวจรับในการสนทนาเพื่อประเมินทุกการแก้ที่แนะนำตามข้อกำหนดแอปพลิเคชันเดียวกัน
ข้อกำหนดเรขาคณิตก่อนเปลี่ยนโค้ด
ควรระบุอะไรเกี่ยวกับข้อมูลเข้าสี่เหลี่ยม?
ระบุลำดับพิกัด ชนิดตัวเลขที่รับ และว่าทั้งสองมิติต้องเป็นบวกหรือไม่ รวมวิธีล้มเหลวของโครงสร้างบรรจุข้อมูลที่ผิดรูป ผู้ช่วยจะตรวจขอบเขตทั้งหมดแทนสมมติว่าข้อมูลสี่ค่าทุกชุดเป็นรูปที่รับได้
ทำไมต้องใส่สี่เหลี่ยมแตะกันในชุดทดสอบ?
ช่วยแยกขอบร่วมจากการทับซ้อนที่มีพื้นที่บวก ระบุพื้นที่รวมที่คาดหวังและทดสอบตรง ๆ พร้อมกรณีแยกห่างและอยู่ภายในกัน เพื่อให้แพตช์ตรงกติกาเรขาคณิตที่ส่วนอื่นของแอปพลิเคชันใช้
การตรวจข้อมูลเปลี่ยนระหว่างจัดระเบียบเลขคณิตได้หรือไม่?
อาจเปลี่ยนโดยไม่ตั้งใจ จึงต้องตรวจทั้งคู่ เทียบกรณีรับและปฏิเสธก่อนเก็บแพตช์ การคำนวณสั้นลงไม่ควรยอมรับขอบเขตกลับด้านหรือชนิดตัวเลขที่ข้อกำหนดเดิมไม่รับอย่างเงียบ ๆ
ควรตรวจการรักษาข้อมูลเข้าอย่างไร?
เก็บสำเนาโครงสร้างพิกัดเดิมและเทียบหลังเรียก หากขั้นตอนแอปพลิเคชันถัดไปใช้ซ้ำ พื้นที่ที่ถูกเพียงอย่างเดียวไม่เพียงพอจะพิสูจน์ว่าโค้ดที่เสนอรักษาข้อกำหนดครบ
RectDelta · อัปเดต 2026-10-25