Skip to main content
 首页 » 编程设计

python之字符串转换器程序不工作

2025年05月04日13insus

我正在尝试制作一个基本程序,将字符串 ATGTACATGGGCATAGCCATATA 转换为其 RNA 序列,即 UACAUGUACCCGUAUCGGUAUAU。

但输出是:CCCCCUUUUUUUUUUUUUUUUUUUUUUU

但它不是很有效。我认为问题在于它会逐一遍历整个字符串。

我是生物信息学编程的新手,所以欢迎任何建议。

DNA = "ATGTACATGGGCATAGCCATATA" 
dna_length = len(DNA) 
 
print("DNA: " + DNA) 
print() 
print("Length of DNA in base pairs: "+ str(dna_length)) 
 
RNA = [] 
for char in DNA: 
    if char == "G": 
        RNA.append("C") 
for line in DNA: 
    if char == "C": 
        RNA.append("G") 
for line in DNA: 
    if char == "A": 
        RNA.append("U") 
for line in DNA: 
    if char == "T": 
        RNA.append("A") 
 
print("".join(RNA)) 

请您参考如下方法:

我会使用 dict 来执行您的替换,然后在 join 中使用生成器表达式来执行您的翻译。

>>> RNA = {'G':'C', 'C':'G', 'A':'U', 'T':'A'} 
>>> DNA = 'ATGTACATGGGCATAGCCATATA' 
>>> translated = ''.join(RNA[i] for i in DNA) 
>>> translated 
'UACAUGUACCCGUAUCGGUAUAU'