Luas gabungan dua persegi panjang
Hitung luas gabungan dua persegi panjang sejajar sumbu dengan batas bulat yang meningkat ketat.
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) - overlapModel
Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah.
Proyek
Uji tumpang tindih, pemuatan dan sentuhan, serta tolak luas nol atau batas terbalik sebelum aritmetika dan pertahankan masukan.
Tinjau sebelum menerapkan
Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
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) - overlapHubungkan kode geometri dengan data yang diterimanya
RectDelta menyediakan ruang kerja pemrograman Windows untuk membahas kode geometri sebagai bagian aplikasi, termasuk batas masukan di sekitar perhitungan. Buka proyek dan jelaskan asal koordinat serta kegunaan hasilnya. Minta asisten yang terhubung memeriksa hubungan tersebut sebelum mengusulkan implementasi aritmetika berbeda.
Untuk tugas gabungan persegi panjang, tentukan urutan koordinat, tipe angka yang diterima, dan perlakuan terhadap bentuk yang hanya bersentuhan. Sertakan persegi panjang yang saling memuat dan bertumpang tindih sebagai contoh masukan, lalu bahas bagaimana batas tidak valid harus dilaporkan. Keputusan tersebut memberi peninjauan kode sasaran konkret tanpa mengubah perhitungan ilustratif menjadi klaim tentang mesin geometri bawaan.
Tinjau validasi dan aritmetika bersama-sama, lalu jalankan pemeriksaan proyek dengan bentuk biasa maupun yang ditolak. Pastikan pemanggil menerima hasil yang dimaksud dan masukan tetap tersedia tanpa perubahan untuk pekerjaan berikutnya. RectDelta terhubung ke layanan kompatibel OpenAI atau Anthropic yang didukung, dengan kredensial bila diperlukan. Model tanpa batasan dapat dipilih jika endpoint yang dikonfigurasi menawarkannya; aturan penyedia dan kemampuan server tetap mengatur koneksi. Pertahankan contoh penerimaan dalam percakapan agar setiap usulan perubahan dinilai berdasarkan persyaratan aplikasi yang sama.
Kontrak geometri sebelum perubahan implementasi
Apa yang harus ditentukan tentang masukan persegi panjang?
Nyatakan urutan koordinat, tipe numerik yang diterima, dan apakah kedua dimensi harus positif. Sertakan bagaimana wadah data yang cacat harus gagal. Asisten kemudian dapat meninjau seluruh batas masukan, bukan menganggap setiap masukan empat nilai menggambarkan bentuk yang dapat diterima.
Mengapa menyertakan persegi panjang bersentuhan dalam data uji?
Kasus itu membedakan batas bersama dari tumpang tindih berluas positif. Nyatakan hasil gabungan yang diharapkan dan uji secara langsung, bersama kasus terpisah dan saling memuat, agar perbaikan mencerminkan konvensi geometri yang digunakan bagian lain aplikasi.
Bisakah validasi berubah selama perapian aritmetika?
Validasi dapat berubah tanpa sengaja, sehingga keduanya perlu ditinjau. Bandingkan kasus masukan yang diterima dan ditolak sebelum mempertahankan perbaikan. Perhitungan yang lebih pendek tidak boleh diam-diam menerima batas terbalik atau tipe angka yang dikecualikan kontrak asli.
Bagaimana memeriksa bahwa masukan tetap utuh?
Simpan salinan wadah koordinat asli dan bandingkan setelah pemanggilan. Jika langkah aplikasi berikutnya menggunakannya kembali, luas yang benar saja tidak cukup membuktikan implementasi usulan menghormati seluruh kontrak.
RectDelta · Diperbarui 2026-10-25