我写了一小段代码,应该检测2个字符串中是否有相同位置的任何匹配字符。如果有,则将得分加1,如果有两个或更多连续匹配字符,则得分增加3,如果没有匹配的字符,则得分递减1. 问题是,当我尝试运行代码,它给了我一个错误:字符串索引超出范围。 什么可能是错误的?非常感谢你。while while循环中的字符串比较
def pairwiseScore(seqA, seqB):
count = 0
score = 0
while count < len(seqA):
if seqA[count] == seqB[count]:
score = score + 1
count = count + 1
while seqA[count] == seqB[count]: # This is the line the error occurs
score = score + 3
count = count + 1
elif seqA[count] != seqB[count]:
score = score - 1
count = count + 1
return score
“什么可能是错的?”你自己说过“串指数超出范围”。不要误解我的意思我明白这是作业,但谷歌是你的朋友,现在是时候让你的调试技巧能够正常运行了 – 2012-04-01 22:11:34
对不起,我不知道这个错误的含义。据我所知,这意味着如果一个字符串是8个字符长,索引是[8],则会发生错误。但是,在我的代码中,索引不会超过字符串的长度。 – geekkid 2012-04-01 22:15:02
@geekkid:看到我的答案。您正在索引字符串的长度。 – 2012-04-01 22:18:31