我已使用以下代码来完成此任务:
dna = input('Enter:')
b = {'A':'T', 'T':'A', 'C':'G', 'G':'C'}
for x,y in b.items():
dna = dna.replace(x,y)
print(dna)
但是,它似乎仅替换T和G,而忽略了A和C。能否请您解释一下为什么会发生以及如何避免此问题。对于Python来说还是很新的。预先谢谢你!
答案 0 :(得分:0)
您可以执行以下操作:
dna = input('Enter:')
b = {'A':'T', 'T':'A', 'C':'G', 'G':'C'}
dna = ''.join(b[x] for x in dna)
# or more robustly, ignoring unknown characters
# dna = ''.join(b.get(x, x) for x in dna)
这将在一次迭代中重建整个字符串,从而避免了最初方法的来回替换。