任何人都可以帮我弄清楚这段代码有什么问题吗?相同的RNA序列匹配程序



这是我目前所拥有的:提示用户输入两个序列时似乎存在错误。

def matchSequences(sequence1, sequence2):
    numMatches = 0
    (input("Enter the RNA sequences")==(sequence1, sequence2)
    for i in range(0,len(sequence1))
        if sequence1[i] == A and i in sequence2[i] == U
            numMatches = numMatches+1
        if sequence1[i] == C and i in sequence2[i] == G
            numMatches = numMatches+1
        if sequence1[i] == G and i in sequence2[i] == C
            numMatches = numMatches+1
        if sequence1[i] == U and i in sequence2[i] == A
            numMatches = numMatches+1
        elif numMatches == numMatches+0:

            for i in range (sequence1, sequence2)
                if i in sequence1[i]:
                    numMatches == numMatches+1
                elif numMatches == numMatches+0:
                    return numMatches
matchSequences()
在我看来

,与其(input("Enter the RNA sequences")==(sequence1, sequence2),不如拥有这样的东西:

sequence1, sequence2 = input("Enter the RNA sequences, seperated by a comma: ").split(",")

在这种情况下,您不需要函数具有参数,您只需执行def matchSequences()即可。

如果要使用参数,请删除带有输入的行,保留原始def matchSequences(sequence1, sequence2),而不仅仅是执行以下操作:

matchSequences()

这样做:

first_sequence = input("Enter the first sequence: ")
second_sequence = input("Enter the second sequence: ")
matchSequences(first_sequence, second_sequence)

或者这个:

matchSequences(*input("Enter the RNA sequences, seperated by a comma: ").split(","))

(请参阅此问题以了解*在这里做什么。另外,这是str.split的文档。

你可以尝试这样的事情:

sequences = tuple(seq for seq in raw_input().split("."))

其中格式化了一对序列:

AAAA.CCCC

最新更新