使用Python进行DNA到RNA的转换:如何在不替换/更改预先替换的输入的情况下替换文本输入?

2024-09-30 20:29:06 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我只是想知道我怎样才能把DNA变成RNA,用于学校的一个项目。G需要转换为C,A需要转换为U,T需要转换为A,C需要转换为G。这里的问题是,如果我只添加另一个“替换”行,它将影响先前转换的G。有没有简单的解决方法?如果有,你介意简要解释一下吗? 谢谢

def abc(a):
  DNA=str(a)
  newDNA=DNA.replace('G', 'C')
  new2DNA=newDNA.replace('A','U')
  new3DNA=new2DNA.replace('T','A')
  new4DNA=new3DNA.replace('C', 'G')
  print(new4DNA)

假设我想把GATC转化成RNA。 如果我把它通过上面的代码,我会得到GUAG,而不是CUAG


Tags: 项目方法defreplace学校dnarnaabc
3条回答
def dna_to_rna(dna):
    rna = ''
    for x in dna:
        if x == 'T':
            rna += 'U'
        else:
            rna += x
    return rna
print(dna_to_rna('AGCT'))
def DNA_TO_RNA(inputDNA, typeRNA):


  if typeRNA.upper() not in ['MRNA', 'TRNA']:
      return 'inputRNA can have values MRNA adn TRNA. Please check inputRNA'
      exit()

  outputRNA = ''

  for code in inputDNA:

      if code.upper() not in ['A', 'C', 'T']:
          return 'DNA Sequence can only have A,C,T. Please check input DNA'
          exit()

      if typeRNA == 'MRNA':
          if code.upper() == 'A':
              outputRNA = outputRNA + 'U'
          elif code.upper() == 'C':
              outputRNA = outputRNA + 'G'
          elif code.upper() == 'T':
              outputRNA = outputRNA + 'A'
          else:
              outputRNA = outputRNA + code.upper()

      if typeRNA == 'TRNA':
          if code.upper() == 'T':
              outputRNA = outputRNA + 'U'
          else:
              outputRNA = outputRNA + code.upper()

  return outputRNA

print(DNA_TO_RNA('ACTC', 'MRNA'))  # UGAG
print(DNA_TO_RNA('ACTC', 'TRNA'))  # ACUC

DNAMRNA


def DNA_MRNA(inputDNA):
  MRNA = ''
  for code in inputDNA:
    if code == 'A':
      MRNA = MRNA + 'U'
    if code == 'C':
      MRNA = MRNA + 'G'
    if code == 'T':
      MRNA = MRNA + 'A'

  return MRNA

print(DNA_MRNA('ACTC'))

DNATRNA

def DNA_TRNA(inputDNA):
  TRNA = ''
  for code in inputDNA:
    if code == 'T':
      TRNA = TRNA + 'U'
    else:
      TRNA = TRNA + code

  return TRNA

print(DNA_TRNA('ACTC'))

相关问题 更多 >