from collections import Counter
def letter_feedback(answer, guess):
if any(type(s) is not str or len(s) != 5 or any(not "a" <= c <= "z" for c in s) for s in (answer, guess)):
raise ValueError("word.lowercase")
marks, remaining = [0] * 5, Counter()
for i, (a, g) in enumerate(zip(answer, guess)):
if a == g:
marks[i] = 2
else:
remaining[a] += 1
for i, g in enumerate(guess):
if marks[i] != 2 and remaining[g]:
marks[i] = 1
remaining[g] -= 1
return marks
✳Nilai tebakan lima huruf ASCII kecil dengan 2 untuk posisi tepat, 1 untuk posisi lain, dan 0 untuk tidak ada.
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
Model
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 huruf berulang setelah menyisihkan kecocokan tepat, lalu tolak huruf besar, non-ASCII, atau panjang salah.
Tinjau sebelum menerapkan
Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
from collections import Counter
def letter_feedback(answer, guess):
if any(type(s) is not str or len(s) != 5 or any(not "a" <= c <= "z" for c in s) for s in (answer, guess)):
raise ValueError("word.lowercase")
marks, remaining = [0] * 5, Counter()
for i, (a, g) in enumerate(zip(answer, guess)):
if a == g:
marks[i] = 2
else:
remaining[a] += 1
for i, g in enumerate(guess):
if marks[i] != 2 and remaining[g]:
marks[i] = 1
remaining[g] -= 1
return marks
Ruang kerja kode dengan AI
Ubah aturan permainan menjadi perubahan kode yang dapat diuji
LetterRook menawarkan ruang kerja pemrograman untuk Windows guna mengubah aturan permainan informal menjadi perilaku perangkat lunak yang tepat. Buka proyek dan berikan contoh giliran beserta umpan balik yang diharapkan kepada model terhubung. Minta model memeriksa kode penilaian saat ini dan pemanggilnya sebelum menyarankan perubahan, terutama ketika masalah yang dilaporkan bergantung pada simbol berulang.
Umpan balik lima huruf merupakan contoh tugas yang berguna. Tebakan dapat mengandung lebih banyak kemunculan suatu huruf daripada jawaban, jadi jelaskan pengaruh kecocokan tepat terhadap umpan balik sisanya sebelum meminta tambalan. Tinjau hasil yang diusulkan menggunakan pasangan kata konkret, bukan hanya uraian asisten. Aturan harus menentukan implementasi dan setiap penjelasan yang ditampilkan aplikasi.
Jalankan data uji yang mencakup kecocokan tepat, huruf berulang, dan bentuk kata yang ditolak setelah memeriksa perubahan. Pastikan antarmuka menafsirkan umpan balik keluaran sesuai kontrak penilaian. LetterRook terhubung ke endpoint kompatibel OpenAI atau endpoint Anthropic yang didukung, menggunakan kredensial jika diperlukan. Pilih model tanpa filter jika endpoint Anda menawarkannya; server tetap menentukan dukungan konteks dan alat. Menyertakan giliran dan hasil harapan yang eksplisit dalam percakapan memudahkan penilaian setiap saran perubahan tanpa mengandalkan klaim umum bahwa permainan kini berfungsi.
Dari contoh kata menuju umpan balik yang andal
Seperti apa laporan bug huruf berulang yang berguna?
Berikan jawaban, tebakan, umpan balik aktual, dan umpan balik harapan untuk setiap posisi. Sertakan kasus ketika kecocokan tepat menghabiskan sebagian huruf yang tersedia. Ini memberi asisten selisih yang tepat untuk ditelusuri melalui implementasi penilaian.
Mengapa meninjau kecocokan tepat sebelum umpan balik salah posisi?
Aturan yang dicontohkan mengalokasikan kecocokan tepat sebelum membagikan kemunculan yang tersisa. Tambalan yang menghitung setiap karakter cocok secara independen dapat memberi nilai berlebih pada tebakan berulang. Periksa urutan dalam sumber dan pertahankan contoh yang mengungkap kesalahan tersebut.
Haruskah fungsi penilaian menerima kata berhuruf besar?
Contoh yang ada menerima lima huruf ASCII kecil. Jika aplikasi memerlukan normalisasi, tentukan tempatnya dan uji batas itu secara terpisah. Jangan biarkan perbaikan penilaian diam-diam memperkenalkan bentuk masukan lain yang diterima.
Apa yang perlu ditambahkan pengujian antarmuka pada data uji penilaian?
Pastikan setiap penanda keluaran dipetakan ke umpan balik visual dan posisi yang dimaksud. Angka internal yang benar masih dapat disajikan secara salah. Jalankan pemeriksaan ini bersama data uji aturan setelah meninjau perubahan sumber terkait.