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'