两种方式:
一种复杂度为o(n^2):

while True:
    try:
        a, b = input(), int(input())
        maxStr, maxCnt = a[:b], a[:b].count("C") + a[:b].count("G")
        for i in range(0, len(a) - b):
            if a[i:i + b].count("C") + a[i:i + b].count("G") > maxCnt:
                maxCnt = a[i:i + b].count("C") + a[i:i + b].count("G")
                maxStr = a[i:i + b]
        print(maxStr)
    except:
        break

另一种:

while True:
    try:
        a,b,list1=list(input()),int(input()),[]
        c=len(a)-b+1
        for i in range(c):
            res=a[i:i+b]
            Count_G=res.count('G')
            Count_C=res.count('C')
            GC_ratio=(Count_G+Count_C)/b
            list1.append(GC_ratio)
        d=list1.index(max(list1))
        print(''.join(a[d:d+b]))
    except:
        break