Вычисление расстояния Хэмминга между строками

PythonPythonBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Расстояние Хэмминга - это мера различия между двумя строками одинаковой длины. Другими словами, это количество позиций, в которых соответствующие символы различаются. В этом испытании вам будет предложено написать функцию, которая вычисляет расстояние Хэмминга между двумя значениями.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/comments("Comments") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/comments -.-> lab-13650{{"Вычисление расстояния Хэмминга между строками"}} python/tuples -.-> lab-13650{{"Вычисление расстояния Хэмминга между строками"}} python/function_definition -.-> lab-13650{{"Вычисление расстояния Хэмминга между строками"}} python/build_in_functions -.-> lab-13650{{"Вычисление расстояния Хэмминга между строками"}} end

Расстояние Хэмминга

Напишите функцию hamming_distance(a, b), которая принимает два целых числа в качестве аргументов и возвращает расстояние Хэмминга между ними. Функция должна выполнять следующие шаги:

  1. Используйте оператор XOR (^), чтобы найти разницу бит между двумя числами.
  2. Используйте bin(), чтобы преобразовать результат в двоичную строку.
  3. Преобразуйте строку в список и используйте count() класса str, чтобы подсчитать и вернуть количество 1 в ней.
def hamming_distance(a, b):
  return bin(a ^ b).count('1')
hamming_distance(2, 3) ## 1

Резюме

В этом испытании вы узнали, как вычислять расстояние Хэмминга между двумя значениями с использованием Python. Расстояние Хэмминга - это полезная мера различия между двумя строками одинаковой длины, и оно имеет множество применений в информатике и теории информации.