【问题标题】:Same Output - Hamming distance相同的输出 - 汉明距离
【发布时间】:2022-11-01 18:33:09
【问题描述】:

无论我试图改变什么,我的输出总是“检测到传感器缺陷”。起初我认为这是一个 indetation-problem,但它仍然不起作用。

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))

【问题讨论】:

    标签: python hamming-distance


    【解决方案1】:
                str1 = signal_1['data']
                str2 = signal_2[i]
    

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

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

    【讨论】:

      猜你喜欢
      • 2017-09-10
      • 2010-10-31
      • 2015-03-21
      • 2012-03-10
      • 2014-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多