我得到的最长连续序列总是1。当我注释run = 0
时,值没有正确重置,结果值太高。
#find sequences
for y in range(len(headers)-1):
x = len(headers[y+1])
highest = 0
run = 0
for i in range(len(sequence)):
if (sequence[i:i+x]) == headers[y+1]:
print(sequence[i:i+x])
i += x
run += 1
else:
if (run > highest):
highest = run
run = 0
if (run > highest):
highest = run
results[y] = highest
好吧,我自己弄明白了。
#find sequences
for y in range(len(headers)-1):
x = len(headers[y+1])
highest = 0
run = 0
for i in range(len(sequence)):
if (sequence[i:i+x]) == headers[y+1]:
#i += x
while(sequence[i:i+x]) == headers[y+1]:
run += 1
i += x
else:
if (run > highest):
highest = run
run = 0
if (run > highest):
highest = run
run = 0
results[y] = highest