相同输出-汉明距离



无论我试图改变什么,我的输出总是"检测到传感器缺陷";。起初我认为这是一个独立的问题,但仍然不起作用。

def hamming_dist(signal_1, signal_2):
result = []

if len(signal_1['times']) != len(signal_1['data']):
return "Empty signal on at least one of the sensors"
if len(signal_1['data']) != len(signal_2): 
return "Empty signal on at least one of the sensors"
if len(signal_1) == 0 or len(signal_2) == 0:
return "Empty signal on at least one of the sensors"

if len(signal_1 ['data']) == len(signal_2):
for i in range(len(signal_1 ['data'])):
str1 = signal_1['data']
str2 = signal_2[i]
count_index = 0
ham_dist = 0
if len(str1) != len(str2):
return "Sensor defect detected"
while count_index < len(str1):
if str1[count_index] != str2[count_index]:
ham_dist += 1
count_index += 1
result.append((str1, str2, ham_dist))
i += 1
return result

signal_sensor_1 = {"times": [0, 1, 2, 3, 4, 5],
"data": ["00101110", "11001011", "11110000", "01000011", "11001101", "00011011"]}
signal_sensor_2 = ("00101110", "11001001", "11110011", "01111011", "11001101", "00011011")
print(hamming_dist(signal_sensor_1, signal_sensor_2))
str1 = signal_1['data']
str2 = signal_2[i]

一个字符串值是来自signal_sensor_2的元素,例如在迭代1中,对于str2,它是00101110str1始终是sensor_1字典中的条目data,例如始终是["00101110", "11001011", "11110000", "01000011", "11001101", "00011011"]

您想使用signal_1['data'][i]signal_1['data']中获取元素i

最新更新