IndexError:比较两个字符串时字符串索引超出范围

时间:2015-10-13 16:24:52

标签: if-statement indexing printing equivalent

我的代码试图比较字符串中的每个单独字符,以找出两个单词之间的差异。但是,该行"如果a [i] == b [i]"似乎有些悲伤。我是一个已经被赋予一个值的变量,并且将被跟踪,我无法看到它是如何运行的。我的完整代码如下:

a = str(input("Choose a word, any word: "))
b = str(input("Choose another word: "))
j = 0
r = 0
n = len(a)
m = len(b)
if n == m:
    while r <= n:
        if a[r] == b[r]:
            r = r + 1
        else:
            j = j + 1
            r = r + 1
    print("The hamming distance between ", a, "and ", b, "is: ", j)
else:
    p = max(n, m) - min(n, m)
    while r <= p:
        if a[r] == b[r]:
            r = r + 1
        else:
            j = j + 1
        r = r + 1
    k = p + j
    print ("The hamming distance between ", a, "and ", b, "is: ", k)

我知道它可能不是最紧凑的,但是非常感谢任何帮助,谢谢。

编辑:我已修复它,纯粹是我的愚蠢,一个简单的例子,在r&lt; = n和r&lt; = p部分修复它

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题,纯粹是我的愚蠢,一个简单的例子就是在r&lt; = n和r&lt; = p部分修复之后删除了等号。