题解 | #DNA序列#
https://www.nowcoder.com/practice/e8480ed7501640709354db1cc4ffd42a
从序列的第一个元素开始,截取要求长度的字符串,计算每个字符串的CG度,形成一个列表
计算所有子串的CG度后,找到最大CG度,通过最大CG度找到对应的子串
def tm063():
#读取基因序列和子串长度
DNA=input()
N=int(input())
lst=[]
CGlst=[]
#分别对序列中指定子串长度进行遍历,计算CG比例
for i in range(len(DNA)-N+1):
s=DNA[i:i+N]
CG=float((s.count('C')+s.count('G'))/len(s))
lst.append(s)
CGlst.append(CG)
#寻找CG比例最高的,输出子串
CGmax=max(CGlst)
for index,value in enumerate(CGlst):
if value == CGmax:
print(''.join(lst[index]))
break
if __name__=='__main__':
tm063()