【发布时间】:2016-09-11 14:59:46
【问题描述】:
我在以下代码中不断收到IndexError: string index out of range 异常,但我不知道为什么。
我应该递归解决以下问题。
最后,写
transcribe( S )。这是它的描述:在称为转录的令人难以置信的分子壮举中,您的细胞会产生信使 RNA 分子,这些分子反映您 DNA 中核苷酸的序列。然后使用 RNA 来制造完成细胞工作的蛋白质。编写一个递归函数
transcribe( S ),它应该将字符串S作为输入,该字符串将包含DNA 核苷酸(大写字母As、Cs、Gs 和Ts)。可能还有其他字符,尽管它们会被您的转录功能忽略——这些可能是空格或其他不是真正的 DNA 核苷酸的字符。然后,transcribe 应该返回从该字符串 S 产生的信使 RNA 作为输出。正确的输出只是使用替换:
输入中的 As 成为输出中的 Us。
输入中的 Cs 成为输出中的 Gs。
输入中的 Gs 成为输出中的 Cs。
输入中的 Ts 在输出中变为 As。
任何其他输入字符都应该从输出中完全消失
def transcribe( S ):
tran = '' * len(S)
if S[0] == 'A':
tran = tran + 'U' + transcribe( S[1:] )
return tran
elif S[0] == 'C':
tran = tran + 'G' + transcribe( S[1:] )
return tran
elif S[0] == 'G':
tran = tran + 'C' + transcribe( S[1:] )
return tran
elif S[0] == 'T':
tran = tran + 'A' + transcribe( S[1:] )
return tran
else:
return ""
print transcribe('GATTACA')
【问题讨论】:
标签: python python-2.7