오류를 수정하고 프로그램을 다시 실행하면 다음과 같은 결과가 표시된다.
>>> is_reverse('pots', 'stop')
0 3
1 2
2 1
True
이번에는 올바른 답을 얻었지만, 루프가 3번만 실행된 것으로 보아 결과가 의심스럽다. 무슨 일이 일어나는지 더 잘 이해하고 싶다면 상태 다이어그램을 그려보는 것이 좋다. 첫 번째 반복을 하는 동안 is_reverse의 프레임은 그림 8-2와 같이 된다.
▼ 그림 8-2 상태 다이어그램
프레임에 변수를 배열하고, i와 j 값이 word1과 word2에서 가리키는 문자를 보여주는 점선을 추가하는 어떤 자격증을 내가 취득한 것 같다.
이 상태 다이어그램에서 시작하고, 변수 i와 j의 값을 바꾸면서 종이 위에서 프로그램을 실행해보자.