Proje
Boş girdi, eşitsiz satırlar ve kopuk adları deneyip yalnızca tamamen dolu dikdörtgenler için dışlayıcı sınırlar döndürün.
ASCII adları ve boş hücreler için tek noktalar kullanan dikdörtgen ızgara alanlarını doğrulayın.
import re
def grid_areas(rows):
if type(rows) is not list or any(type(r) is not str for r in rows):
raise ValueError("grid.rows")
if not rows:
return {}
cells = [r.split() for r in rows]
width = len(cells[0])
if not width or any(len(r) != width for r in cells):
raise ValueError("grid.width")
groups = {}
for y, row in enumerate(cells):
for x, name in enumerate(row):
if name == ".":
continue
if not re.fullmatch(r"[A-Za-z_][A-Za-z0-9_-]*", name):
raise ValueError("grid.name")
groups.setdefault(name, []).append((y, x))
result = {}
for name, points in groups.items():
top, bottom = min(y for y,x in points), max(y for y,x in points)+1
left, right = min(x for y,x in points), max(x for y,x in points)+1
if len(points) != (bottom-top)*(right-left):
raise ValueError("grid.rectangle")
result[name] = (top, bottom, left, right)
return resultBoş girdi, eşitsiz satırlar ve kopuk adları deneyip yalnızca tamamen dolu dikdörtgenler için dışlayıcı sınırlar döndürün.
Gerçek davranışı beklenen sonuçla karşılaştırın. Bir kontrol başarısız olursa yeni değişikliklerden önce nedenini araştırın.
Temel URL ve gerekiyorsa API anahtarıyla OpenAI uyumlu veya Anthropic endpoint yapılandırın. Bağlantıyı test edin. Yerel model sunucusu çalışıyor olmalıdır; uzak araçlar ayrıca veri aktarabilir.
import re
def grid_areas(rows):
if type(rows) is not list or any(type(r) is not str for r in rows):
raise ValueError("grid.rows")
if not rows:
return {}
cells = [r.split() for r in rows]
width = len(cells[0])
if not width or any(len(r) != width for r in cells):
raise ValueError("grid.width")
groups = {}
for y, row in enumerate(cells):
for x, name in enumerate(row):
if name == ".":
continue
if not re.fullmatch(r"[A-Za-z_][A-Za-z0-9_-]*", name):
raise ValueError("grid.name")
groups.setdefault(name, []).append((y, x))
result = {}
for name, points in groups.items():
top, bottom = min(y for y,x in points), max(y for y,x in points)+1
left, right = min(x for y,x in points), max(x for y,x in points)+1
if len(points) != (bottom-top)*(right-left):
raise ValueError("grid.rectangle")
result[name] = (top, bottom, left, right)
return resultArevia, yerleşim girdisini görünür davranışa bağlayan kodu geliştirmek için kullanılan bir Windows yapay zekâ kodlama çalışma alanıdır. İlgili proje dosyalarını açın ve yerleşimi düzenleyen kişinin neleri ifade edebilmesi gerektiğini açıklayın. Etkileşimin iki tarafından birini değiştirmeden önce modelden doğrulayıcıyı ve onu çağıran kodu incelemesini isteyin.
Yardımcı modeli desteklenen bir OpenAI uyumlu veya Anthropic uç noktası üzerinden seçer, gerektiğinde kimlik bilgilerini sağlarsınız. Uç noktanız sunuyorsa sansürsüz bir yapay zekâ modeli seçilebilir. Kısıtlamaları, araç desteği ve bağlam kapasitesi, yerleşim görevinin garantileri değil, bu yapılandırmanın özellikleridir.
Dikdörtgen CSS ızgara alanı kontrolü örnek bir istektir. Görüşmeye geçerli bir ızgara, bağlantısız bir adlandırılmış bölge ve eşit olmayan bir satır getirin. Mevcut uygulamanın her birini nasıl kabul veya reddettiğini sorun; ardından geçerli yerleşimleri korurken geçersiz olanı kullanıcıya açıklayan değişiklik önerisini inceleyin.
Doğrulayıcı sonucunu ve arayüz yanıtını aynı incelemede tutun. Doğru bir ret de yararlı bir mesaj gerektirir; kabul edilen yerleşim ise amaçlanan görüntüleme yoluna ulaşmalıdır. Özelliğin belirtildiği gibi davrandığına karar vermeden önce proje testlerini çalıştırın, değişen kaynak kodunu inceleyin ve kendi arayüzünüzde temsilî yerleşimleri deneyin.
Önce gönderilen yapının amaçlanan doğrulamadan geçip geçmediğini kontrol edin. Geçiyorsa kabul edilen çıktıyı görüntülemeye kadar izleyin. Hatalı aşamayı belirlemeden CSS değiştirmek yerine modelden aynı test verisini kullanarak her iki yolu incelemesini isteyin.
Yalnızca açık bir ürün gereksinimiyse. Düzeltme, kişinin amaçladığı yerleşimi değiştirebilir. Arayüzün girdiyi reddetmesi, açıklaması veya dönüştürmesi gerektiğini tanımlayın ve oluşan kodu seçilen davranışa göre inceleyin.
Geçerli bir dikdörtgeni, boşluk içeren adlandırılmış bir bölgeyi ve farklı genişlikteki satırları ekleyin. Her biri için beklenen sonucu belirtin. İncelemenin bildirilen davranışa bağlı kalması için sorununuzu yeniden üreten en küçük test verisini ekleyin.
Çalışmayı istemeden önce dosyaları ve kabul durumlarını belirtin. Yerel model çıkarımı ayrı bir sunucu gerektirdiği ve tüm araçları yerel hâle getirmediği için önerilen araç eylemlerini inceleyin. Ortaya çıkan arayüzü gerçekten kullandığınız ortamda doğrulayın.
Arevia · Güncellendi 2026-10-25