Parantez iç içelik derinliği
Yalnızca yuvarlak, köşeli ve süslü parantezlerden oluşan metnin en büyük iç içelik derinliğini bulun.
def bracket_depth(text):
if type(text) is not str:
raise ValueError("bracket.type")
stack, peak = [], 0
pairs = {')': '(', ']': '[', '}': '{'}
for char in text:
if char in "([{":
stack.append(char)
peak = max(peak, len(stack))
elif char in pairs:
if not stack or stack.pop() != pairs[char]:
raise ValueError("bracket.order")
else:
raise ValueError("bracket.alphabet")
if stack:
raise ValueError("bracket.unclosed")
return peakUygulamadan önce inceleyin
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.
Modeller
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.
Proje
Boş metni sıfır derinlikle kabul edin ancak çapraz çiftleri, eşleşmeyen parantezleri ve boşluk dahil diğer tüm karakterleri reddedin.
def bracket_depth(text):
if type(text) is not str:
raise ValueError("bracket.type")
stack, peak = [], 0
pairs = {')': '(', ']': '[', '}': '{'}
for char in text:
if char in "([{":
stack.append(char)
peak = max(peak, len(stack))
elif char in pairs:
if not stack or stack.pop() != pairs[char]:
raise ValueError("bracket.order")
else:
raise ValueError("bracket.alphabet")
if stack:
raise ValueError("bracket.unclosed")
return peakDoğrulama kurallarını bir sonraki çağıran için anlaşılır kılın
BracketMast, proje klasörünün kodlama görüşmesiyle bağlantılı kaldığı bir Windows çalışma alanına yapay zekâ destekli geliştirmeyi getirir. Doğrulama değişikliği, hatalı girdileri ele alma isteğinden daha fazla kesinlik gerektirdiğinde kullanın. Kabul edilen dili, başarısızlık koşullarını ve çağıranların ne alması gerektiğini açıklayın; ardından asistandan düzeltme önermeden önce mevcut uygulamayı incelemesini isteyin.
bracket_depth.py ile ilgili bir görev, girdinin yalnızca desteklenen parantezleri içerip içermediğine, sıralarının geçerli olup olmadığına ve boş değerin anlamına odaklanabilir. Bu kararları ortaya koyan bir yama ve örnekler isteyin. İşlevi ve onu çağıran kodu göz önünde tutun: kabul edilen karakter kümesini değiştirmek, dengeli girdiler çalışmaya devam etse bile davranışı değiştirebilir. Böylece doğrulama incelemesi tek bir başarılı gösteriden ziyade uygulamanın davranış sözleşmesine odaklanır.
Öneriyi inceledikten sonra kabul edilen dizeler, erken kapanan parantezler ve tamamlanmamış girdiler için proje kontrollerinizi çalıştırın. İsteği netleştirmek ve kararlaştırılan hata davranışını korumak için başarısızlıklardan yararlanın. BracketMast, gerektiğinde kimlik bilgileriyle desteklenen OpenAI uyumlu veya Anthropic uç noktalarına bağlanır. Uç noktanız sunuyorsa kısıtlamasız olarak tanımlanan bir model seçebilirsiniz; sağlayıcı koşulları yine geçerlidir ve bağlam sınırları ile araçlar modele ve sunucuya bağlıdır. Ortaya çıkan kodun sözleşmeye uyup uymadığını testleriniz belirler.
Bir doğrulayıcının neyi kabul edeceğine karar verme
Desteklenmeyen karakterler yok sayılmalı mı, reddedilmeli mi?
Çağıranın davranış sözleşmesine göre bilinçli karar verin. Yalnızca parantez içeren dizeleri doğrulayan bir işlev bunları reddedebilir; kaynak kod ayrıştırıcısı ise farklı kurallar gerektirir. Beklenmeyen karakterleri sessizce atlayan bir değişikliği kabul etmeden önce asistana bu ayrımı açıklayın.
Boş bir değer nasıl davranmalı?
Uygulamanızda geçerli, eksik veya hata sayılıp sayılmadığını belirtin. Ardından hem işlevin sonucunu hem de çağıranın bunu nasıl yorumladığını kontrol edin. Boş girdi kuralı, döngünün rastlantısal davranışına bırakılmamalıdır.
Hata mesajı ile hata sözleşmesi arasındaki fark nedir?
Sözleşme, hangi koşulun başarısız olduğunu, başarısızlığın nasıl temsil edildiğini ve çağıranın sonrasında ne yaptığını kapsar. Bu kararları birlikte inceleyin; yalnızca ifadeyi iyileştirmek, uygulamada tutarsız dönüş değerleri veya işlenmeyen bir istisna bırakabilir.
Kabul ettiği girdiyi değiştirdikten sonra doğrulayıcıyı yeniden kullanabilir miyim?
Önce diğer çağıranlarını inceleyin. Daha geniş bir kabul edilen karakter kümesi veya farklı bir hata türü, eski davranışa dayanan kodu etkileyebilir. Uyumluluğu açıkça belirtin ve değiştirilen yardımcı işlevi yeniden kullanmadan önce bu bağımlılıklar için kontroller ekleyin.
BracketMast · Güncellendi 2026-10-25