Calcul de la distance de Hamming entre des chaînes

PythonPythonBeginner
Pratiquer maintenant

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

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

La distance de Hamming est une mesure de la différence entre deux chaînes de même longueur. En d'autres termes, c'est le nombre de positions auxquelles les symboles correspondants sont différents. Dans ce défi, vous devrez écrire une fonction qui calcule la distance de Hamming entre deux valeurs.


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{{"Calcul de la distance de Hamming entre des chaînes"}} python/tuples -.-> lab-13650{{"Calcul de la distance de Hamming entre des chaînes"}} python/function_definition -.-> lab-13650{{"Calcul de la distance de Hamming entre des chaînes"}} python/build_in_functions -.-> lab-13650{{"Calcul de la distance de Hamming entre des chaînes"}} end

Distance de Hamming

Écrivez une fonction hamming_distance(a, b) qui prend deux entiers en arguments et renvoie la distance de Hamming entre eux. La fonction doit effectuer les étapes suivantes :

  1. Utilisez l'opérateur XOR (^) pour trouver la différence binaire entre les deux nombres.
  2. Utilisez bin() pour convertir le résultat en une chaîne binaire.
  3. Convertissez la chaîne en une liste et utilisez count() de la classe str pour compter et renvoyer le nombre de 1 dans celle-ci.
def hamming_distance(a, b):
  return bin(a ^ b).count('1')
hamming_distance(2, 3) ## 1

Résumé

Dans ce défi, vous avez appris à calculer la distance de Hamming entre deux valeurs à l'aide de Python. La distance de Hamming est une mesure utile de la différence entre deux chaînes de même longueur, et elle a de nombreuses applications en informatique et en théorie de l'information.