TheAlgorithms-Python
40 строк · 1.0 Кб
1def hamming_distance(string1: str, string2: str) -> int:2"""Calculate the Hamming distance between two equal length strings3In information theory, the Hamming distance between two strings of equal
4length is the number of positions at which the corresponding symbols are
5different. https://en.wikipedia.org/wiki/Hamming_distance
6
7Args:
8string1 (str): Sequence 1
9string2 (str): Sequence 2
10
11Returns:
12int: Hamming distance
13
14>>> hamming_distance("python", "python")
150
16>>> hamming_distance("karolin", "kathrin")
173
18>>> hamming_distance("00000", "11111")
195
20>>> hamming_distance("karolin", "kath")
21Traceback (most recent call last):
22...
23ValueError: String lengths must match!
24"""
25if len(string1) != len(string2):26raise ValueError("String lengths must match!")27
28count = 029
30for char1, char2 in zip(string1, string2):31if char1 != char2:32count += 133
34return count35
36
37if __name__ == "__main__":38import doctest39
40doctest.testmod()41