Unduh aplikasi
Pilih folder dan minta asisten membaca berkas terkait sebelum mengeditnya. Tentukan tujuan serta batas tugas.
Tetapkan kode prefiks biner kanonis bagi maksimal 256 simbol dengan panjang 1 sampai 16. Uji tabel kosong dan tak lengkap, urutkan panjang sama berdasarkan string Unicode asli lalu tolak panjang berlebih atau tak valid tanpa normalisasi.
Pilih folder dan minta asisten membaca berkas terkait sebelum mengeditnya. Tentukan tujuan serta batas tugas.
Pilih endpoint yang kompatibel. Alat yang tersedia dan kualitas jawaban bergantung pada model serta server yang digunakan.
Tinjau perubahan dan keluaran perintah. Jalankan pemeriksaan proyek sebelum menerima hasilnya; kode yang dihasilkan tidak otomatis sudah diuji.
Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
def canonical_codes(lengths):
if type(lengths) is not dict or len(lengths) > 256:
raise ValueError("codes.input")
if any(type(s) is not str or not s or type(n) is not int or
not 1 <= n <= 16 for s,n in lengths.items()):
raise ValueError("codes.length")
result, code, previous = {}, 0, 0
for symbol, length in sorted(lengths.items(), key=lambda p:(p[1],p[0])):
code <<= length-previous
if code >= 1 << length:
raise ValueError("codes.oversubscribed")
result[symbol] = format(code, f"0{length}b")
code += 1
previous = length
return resultTinjau sebelum menerapkan. Tinjau perubahan dan keluaran perintah. Jalankan pemeriksaan proyek sebelum menerima hasilnya; kode yang dihasilkan tidak otomatis sudah diuji.