我目前正试图寻找DNA的互补链,这意味着我必须将所有Ts替换为As,As替换为Ts,Cs替换为Gs,Gs替换为Cs。我一直试图找到一种方法来做到这一点,并没有导致程序完全返回一个字母,我想我找到了方法,但现在每次运行它我收到一个错误告诉我转换为str和我不能放在应有的位置或为什么,这里是我目前的代码:
Config
答案 0 :(得分:1)
您正在传递整数作为DNA.replace()
的第一个参数,其中只需要字符串; ord('A')
生成一个整数,这就是您传递的k
:
DNA = DNA.replace(k, code[k])
您可以仅使用ord('A')
替换'A'
,但是您有新的问题,即C->G
替换将被{G->C
取消1}}替换,反之亦然。
您应该使用str.translate()
method,然后删除循环:
def encode(code,DNA):
DNA = DNA.translate(code)
print('The complementary strand is: ' + DNA)
另请参阅Simultaneous .replace functionality(与之前的问题相关联,并且看起来您只是部分实施了我的方法)。