부록 A
에러 해결 모음
1에러는 흔적을 남긴다
에러는 복잡하든 간단하든 컴퓨터 프로그래밍 초보자에게 당황스러운 존재입니다. 생소한 프로그램을 따라 입력하는 것만으로도 힘든데, 예상치 않은 예외 상황이 발생하면 프로그래밍 공부를 포기하고 싶어질 수 있습니다.
하지만 다행인 것은 대부분의 에러는 흔적을 남긴다는 점입니다. 이 책에 나오는 프로그램은 대체로 짧기 때문에 파이썬이 제공하는 흔적이나 힌트만으로도 충분히 문제를 해결할 수 있습니다.
다음 에러 메시지를 보면서 흔적과 힌트를 찾아보겠습니다.
Traceback (most recent call last):
File "C:\Users\Work\09C-calc.py", line 11, in <module> —①
if a+b == d: —②
NameError: name 'd' is not defined
>>>
이 에러는 예제 프로그램 09C-calc.py(87쪽)의 판단문에서 변수 c를 일부러 d로 바꿔서 만든 에러입니다.
①을 보면 09C-calc.py 파일의 열한 번째 줄에서 에러가 났다고 알려줍니다. ②에서는 에러가 난 곳이 if a+b == d: 부분이라고 알려줍니다. 여기에 그치지 않고 마지막 줄에서는 NameError:라고 에러의 종류까지 알려줍니다. 이 정도면 ‘친절한 파이썬씨’라 불릴 만하지 않나요?
내가 뭔가 크게 잘못한 게 아닌가 싶을 정도로 많은 빨간색 영어 메시지가 우르르 쏟아져 나와도 당황하거나 기죽지 말고 차근차근 살펴보세요. 에러를 해결하도록 도와줄 힌트가 하나둘씩 눈에 띌 것입니다. 복잡한 영어 메시지를 모두 다 이해하려고 노력할 필요도 없습니다. 그저 ‘힌트’만 얻어내면 충분합니다.