Uygulamayı indirin
Bir klasör seçin ve düzenlemeden önce ilgili dosyaları okumasını asistandan isteyin. Görevin hedefini ve sınırlarını belirleyin.
En fazla bir bitin ters çevrildiği açık varsayımıyla yedi bitlik Hamming sözcüğünü çözün. Sağlam sözcükleri ve her tek hata konumunu sınayın; bozuk ya da ikili olmayan girdiyi reddedin ve çoklu hata tespiti vaat etmeyin.
Bir klasör seçin ve düzenlemeden önce ilgili dosyaları okumasını asistandan isteyin. Görevin hedefini ve sınırlarını belirleyin.
Uyumlu bir endpoint seçin. Kullanılabilir araçlar ve yanıt kalitesi, yapılandırılan modele ve sunucuya bağlıdır.
Değişiklikleri ve komut çıktılarını inceleyin. Sonucu kabul etmeden önce proje kontrollerini çalıştırın; üretilen kod otomatik olarak test edilmiş değildir.
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.
def correct_hamming(word):
word = list(word)
if len(word) != 7 or any(type(b) is not int or b not in (0, 1) for b in word):
raise ValueError("hamming.word")
syndrome = 0
for parity in (1, 2, 4):
value = 0
for position in range(1, 8):
if position & parity:
value ^= word[position-1]
if value:
syndrome |= parity
if syndrome:
word[syndrome-1] ^= 1
data = (word[2] << 3) | (word[4] << 2) | (word[5] << 1) | word[6]
return data, syndromeUygulamadan önce inceleyin. Değişiklikleri ve komut çıktılarını inceleyin. Sonucu kabul etmeden önce proje kontrollerini çalıştırın; üretilen kod otomatik olarak test edilmiş değildir.