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

全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 10:46
点赞 评论 收藏
分享
点赞 评论 收藏
分享
听说改名字就能收到offer哈:Radis写错了兄弟
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务