我刚开始学习 Python,我陷入了这个问题:我有一个 DNA 序列,我需要返回它的互补序列。例如,如果我有ATTGCA
,它应该返回TAACGT
。也就是说,替换A
为T
、T
、和。A
_ 这是一个练习,我不应该使用字符串方法。到目前为止我尝试过的所有事情,都给我“T”作为答案。似乎它只识别第一个字母,然后停止。我该怎么做?C
G
G
C
我试过了:
>>> def get_complementary_sequence(dna):
for char in dna:
if char == 'A':
return 'T'
elif char == 'T':
return 'A'
elif char == 'C':
return 'G'
elif char == 'G':
return 'C'
>>> get_complementary_sequence('ATTGCA')
'T'
并且还尝试过:
def get_complementary_sequence(dna):
sequence = ""
for nucleotide in dna:
if nucleotide == 'A':
return sequence + 'T'
elif nucleotide == 'T':
return sequence + 'A'
elif nucleotide == 'C':
return sequence + 'G'
elif nucleotide == 'G':
return sequence + 'C'
return sequence
>>> get_complementary_sequence('ATTGCA')
'T'