题解 | #DNA序列#

DNA序列

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

# 定义一个函数来找到具有最高GC比例的子串
def find_highest_gc_ratio_substring(dna_sequence, n):
    # 初始化最大的GC比例为-1,这样任何有效的比例都会更大
    max_ratio = -1
    # 初始化最高GC比例对应的子串为空字符串
    substring = ""
    # 遍历序列,检查每个长度为n的子串
    for i in range(len(dna_sequence) - n + 1):
        # 获取当前位置开始的长度为n的子串
        current_substring = dna_sequence[i : i + n]
        # 计算当前子串中G和C的总数
        gc_count = current_substring.count("G") + current_substring.count("C")
        # 计算当前子串的GC比例
        gc_ratio = gc_count / n
        # 如果当前子串的GC比例高于之前记录的最高比例,则更新最高比例和对应的子串
        if gc_ratio > max_ratio:
            max_ratio = gc_ratio
            substring = current_substring
    # 返回具有最高GC比例的子串
    return substring


# 主程序开始
# 从用户那里接收DNA序列输入
dna_sequence = input()
# 从用户那里接收子串长度的输入,并转换为整数
n = int(input())
# 调用函数,并打印出具有最高GC比例的子串
print(find_highest_gc_ratio_substring(dna_sequence, n))

全部评论

相关推荐

努力学习的小绵羊:我反倒觉得这种挺好的,给不到我想要的就别浪费大家时间了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务