查找两个 DNA 字符串之间的汉明距离

Len*_*ena 7 python hamming-distance python-3.x

我现在刚刚学习 python 3。\n\'\'\'它要求用户提供两个字符串并找到字符串之间的汉明距离。输入序列应该只包含核苷酸 \xe2\x80\x98A\ xe2\x80\x99、\xe2\x80\x99T\xe2\x80\x99、\xe2\x80\x98G\xe2\x80\x99 和 \xe2\x80\x98C\xe2\x80\x99。如果用户输入无效字符,程序应要求用户重新输入序列。程序应能够比较字符串的长度是否相同。如果字符串长度不同,程序应要求用户再次输入字符串。用户应该能够输入大写、小写或两种情况作为输入 \'\'\'

\n\n

该程序应按以下格式打印输出:

\n\n
please enter string one: GATTACA\nplease enter string two: GACTATA\nGATTACA\n|| || |  \nGACTATA\nThe hamming distance of sequence GATTACA and GACTATA is 2\nSo the Hamming distance is 2.\n
Run Code Online (Sandbox Code Playgroud)\n\n

我已经在下面尝试过,但无法得到答案。

\n\n
def hamming_distance(string1, string2):\n    string1 = input("please enter first sequence")\n    string2 = input("please enter second sequence")\n    distance = 0\n     L = len(string1)\n    for i in range(L):\n        if string1[i] != string2[i]:\n            distance += 1\n    return distance\n
Run Code Online (Sandbox Code Playgroud)\n

wal*_*man 4

行缩进错误:L = len(strings1)

def hamming_distance(s1, s2):
    if len(s1) != len(s2):
        raise ValueError("Strand lengths are not equal!")
    return sum(ch1 != ch2 for ch1,ch2 in zip(s1,s2))
Run Code Online (Sandbox Code Playgroud)