我认为用以下代码将字符串a替换为u很容易。
DNA= "atgcatgctagcagtcagcatcgatcgatcagctagctag"
def transcribe(dna):
dna.replace("a", "u")
dna.replace("t", "a")
dna.replace("g", "c")
dna.replace("c", "g")
return 它根本没有改变我的变量。有人能帮我解决这个问题吗?
谢谢
发布于 2016-03-24 07:54:49
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 dnahttps://stackoverflow.com/questions/36195349
复制相似问题