我认为用这段代码
将字符串a替换为u等等很容易DNA= "atgcatgctagcagtcagcatcgatcgatcagctagctag"
def transcribe(dna):
dna.replace("a", "u")
dna.replace("t", "a")
dna.replace("g", "c")
dna.replace("c", "g")
return
它根本没有改变我的变量。有人可以帮我解决这个问题吗?
谢谢
答案 0 :(得分:2)
dna.replace
将产生新字符串;它不会改变dna
。您需要将结果分配给某些内容。c
替换为g
,然后将g
替换为c
并不符合您的想法。例如。 atcg
- > atgg
- > atcc
。解决方案是同时更换:
import string
def transcribe(dna):
return dna.translate(string.maketrans("atgc", "uacg"))
或替换为中间值:
def transcribe(dna):
dna = dna.replace("a", "u")
dna = dna.replace("t", "a")
dna = dna.replace('g', '_')
dna = dna.replace('c', 'g')
dna = dna.replace('_', 'c')
return dna