我寫了一小段代碼,應該檢測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