文字列入力(この場合はDNAコドンシーケンス)を行い、シーケンス内の対応するSLCを出力として出力する必要があります(例:ATT出力:I )。私の現在のコードではこれを達成することができますが、3で割り切れる長さではないシーケンス(例えば、入力:ATTOP出力:IX)に対しては 'X'を出力するようにしたいと考えています。複数の行とは対照的に一列に印刷される上記ためPythonで3つの文字列の繰り返しを改善する
DNA = 'GTTATCTTTPY'
def translate(DNA):
if DNA == 'ATT' or DNA == 'ATC' or DNA == 'ATA':
print 'I'
elif DNA == 'CTT' or DNA == 'CTC' or DNA == 'CTA' or DNA =='CTG' or DNA == 'TTA' or DNA == 'TTG':
print 'L'
elif DNA == 'GTT' or DNA == 'GTC' or DNA == 'GTA' or DNA == 'GTG':
print 'V'
elif DNA == 'TTT' or DNA == 'TTC':
print 'F'
elif DNA == 'ATG':
print 'M'
else :
print "X"
for i in range(3, len(DNA) + 1, 3):
translate (DNA[i-3:i])
出力は:
V Iは F
をので、私は 'PYは' X」として出力することを希望します'他のステートメントではなく、3で割り切れる長さではありません。また、出力は次のようになります:VIFX。
を使用することをお勧めしますがif..elif – depperm
後にそれをすることをを印刷し、文字列に文字を追加することができますインプットの例、現在得られているアウトプット、そしてあなたが期待しているアウトプットを提供した場合に役立ちます。 – Tagc
編集@Tagcを参照してください – Zambo004