Skip to main content
 首页 » 编程设计

python之反向功能并不能完全取代一切

2025年05月04日14bhlsheji

写一个函数 ReverseComplement 来解决 Reverse Complement Problem,下面重现。 (提示:将您在最后一步中编写的函数 reverse 用作子例程。)

这里需要一点帮助!我不仅需要向后更改给定的文本,还需要使某些字母与其他字母相等,以生成全新的结果:

def reverse(text): 
        reversed_text = "" 
    # Note: Indices are starting with zero and the last number in ranges aren't included 
    for i in range(len(text)):    
        reversed_text += text[len(text)-1-i] 
    return reversed_text 
 
text = 'AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC' 
text = text.replace('A', 'T') 
text = text.replace('G', 'C') 

所以我的输出会打印:

CCTCCTTTCTCTCTCTCTTTTTTTTTTCCTCTCTCTCTCTTTTTCCCCCTTCCTCTCTCTTTCTTTTCCT 

但我真正需要做的事情是:

GCTGCTATCAGACACTCTTTTTTTAATCCACACAGAGACATATTGCCCGTTGCAGTCAGAATGAAAAGCT 

并没有完全取代 T 的 A 和 C 的 G……我的编程经验为 0,我被卡住了!请帮忙

请您参考如下方法:

这是一种方法:

text[::-1].translate(maketrans('ACGT', 'TGCA')) 

这使用:

  • text[::-1] 反转字符串
  • maketrans 创建翻译表
  • translate 执行实际翻译

Python 2 的代码段:

from string import maketrans 
 
text = 'AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC' 
translated = text[::-1].translate(maketrans('ACGT', 'TGCA')) 
 
print(translated) 

Python 3 的代码段:

text = 'AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC' 
translated = text[::-1].translate(str.maketrans('ACGT', 'TGCA')) 
 
print(translated)