If statement 索引器错误:比较两个字符串时,字符串索引超出范围

If statement 索引器错误:比较两个字符串时,字符串索引超出范围,if-statement,indexing,printing,equivalent,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

我的代码试图比较字符串中每个单独的字符,以找出两个单词之间的差异。然而,“如果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)
a=str(输入(“选择一个单词,任何单词:”)
b=str(输入(“选择另一个单词:”)
j=0
r=0
n=len(a)
m=len(b)
如果n==m:

虽然r我已经解决了这个问题,但就我而言,这完全是愚蠢的,一个简单的例子,就是在r之后去掉等号。谢谢你分享你获得的知识!您可以通过以下方式让社区更容易了解您的发现。