题解 | #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()

全部评论

相关推荐

球球别再泡了:坏,我单9要了14
点赞 评论 收藏
分享
昨天 22:34
已编辑
重庆邮电大学 Java
快手 客户端开发 (n+5)k*16 公积金12
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务