收到str / int错误并且无法理解原因

时间:2016-10-24 20:25:44

标签: python dictionary error-handling

我目前正试图寻找DNA的互补链,这意味着我必须将所有Ts替换为As,As替换为Ts,Cs替换为Gs,Gs替换为Cs。我一直试图找到一种方法来做到这一点,并没有导致程序完全返回一个字母,我想我找到了方法,但现在每次运行它我收到一个错误告诉我转换为str和我不能放在应有的位置或为什么,这里是我目前的代码:

Config

1 个答案:

答案 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(与之前的问题相关联,并且看起来您只是部分实施了我的方法)。