题解 | #DNA序列#

DNA序列

http://www.nowcoder.com/practice/e8480ed7501640709354db1cc4ffd42a

# 获取输入1,去掉前后空格
dna = input().strip()
# 获取输入2
length = input().strip()
# 使用 for 循环,遍历输入 1,每次获取输入 2 的长度的字符串,计算 C 和 G 的比例,将比例放入列表一,字串放入列表二
# 只有新的计算结果比列表一中的数字大时,再放入
proportion = []
str_lis = []
for i in range(len(dna)):
    gc = dna[i:i+int(length)]
    g_or_c = 0
    for j in gc:
        if j == 'G' or j == 'C':
            g_or_c += 1
    if not proportion:
        proportion.append(round(g_or_c/len(dna), 3))  # 因为字符串长度 <= 1000,所以保留 3 位小数
        str_lis.append(gc)
    elif round(g_or_c/len(dna), 3) > proportion[-1]:
        proportion.append(round(g_or_c/len(dna), 3))
        str_lis.append(gc)
# 最后输出字串列表中的最后一个值即可
print(str_lis[-1])

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务