에러 해결하기
◼︎ 함수 정의 문제
turn_으로 시작하는 이름이 비슷한 함수를 네 개나 정의해야 하므로 주의가 필요합니다. 보통 앞에서 정의한 함수를 ‘복사&붙여넣기’하여 고치려는 사람이 많은데, 이름이 같은 함수가 두 개 생기면 프로그램이 제대로 동작하지 않을 수 있으니 주의하세요.
◼︎ 키 이름 문제
t.onkeypress 함수로 키보드에서 특정한 키를 누르면 실행할 함수를 지정하는 부분을 입력할 때 주의하세요. 첫 번째 인자인 함수 이름도 중요하지만, 두 번째 인자인 특정 ‘키 이름’을 입력할 때 특히 주의해야 합니다. Up, Down, Left, Right, Escape는 첫 글자만 대문자입니다. 잘못 입력하면 _tkinter.TclError: bad event type or keysym … 에러가 발생합니다.
잠깐만요
실행하자마자 프로그램이 종료되었어요!
파이썬 IDLE 프로그램이 아닌 다른 파이썬 개발 프로그램(예를 들어 파이참)을 사용하고 있다면 실행하자마자 결과 없이 바로 프로그램이 종료될 수 있습니다. IDLE 프로그램을 사용하더라도 실행 설정이 다르다면 같은 현상이 나타날 수 있습니다.
그럴 때는 코드 제일 끝(13B-walk.py에서는 t.listen( ) 아래)에 다음 코드를 한 줄 추가한 다음 프로그램을 실행해 보세요.
t.mainloop()
참고로 t.mainloop 함수는 사용자가 거북이 그래픽 창을 종료할 때까지 프로그램을 실행하면서 마우스나 키보드 입력을 계속 처리하도록 하는 함수입니다.