이런 종류의 오류를 디버깅할 때는 먼저 오류가 표시된 줄 바로 앞에 인덱스 값을 출력하는 것이 좋다.
while j > 0:
print(i, j) # 여기서 출력
if word1[i] != word2[j]:
return False
i = i+1
j = j-1
이제 프로그램을 다시 실행하면 정보를 좀 더 얻을 수 있다.
>>> is_reverse('pots', 'stop')
0 4
...
IndexError: string index out of range
루프를 처음 실행할 때 j의 값은 4이고, 이는 문자열 'pots'의 범위를 벗어난 것이다. 'pots'에서 마지막 문자의 인덱스는 3이므로 j의 초깃값은 len(word2)-1이 되어야 한다.