合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
所属专题:[字符串算法](README.md)   ## 问题 在DNA序列中,碱基'A'与'T'是互补的,'C'和'G'是互补的。DNA序列`$ s $`的反向互补序列是将`$ s $`的碱基反向排序,然后取其互补碱基而组成的序列`$ s^c $`. (例如,DNA序列'GTCA'的反向互补序列是'TGAC') **输入:** 一条DNA序列`$ s $`,长度最长为1000 bp. **输出:** `$ s $`的反向互补序列`$ s^c $`. **样例数据:** ``` AAAACCCGGT ``` **样例输出:** ``` ACCGGGTTTT ```   ## 背景知识 该问题涉及分子生物学的基础入门知识。详情请查阅ROSALIND网站上[关于该问题的背景说明](http://rosalind.info/problems/revc/)。   ## 解答 ```python def rev_comp(s): """输出DNA序列s的反向互补序列""" sc = '' for i in reversed(s): if i is 'A': sc += 'T' elif i is 'C': sc += 'G' elif i is 'G': sc += 'C' elif i is 'T': sc += 'A' return sc ## --main-- with open("rosalind_revc.txt", 'r') as f1: s = f1.read().strip() with open("rosalind_revc_out.txt", 'w') as f2: f2.write(rev_comp(s)) ```