더북(TheBook)

만약 첫째 줄의 num = 0을 추가하지 않으면 어떻게 될까요? 둘째 줄의 while 문을 실행하려면 반드시 그 전에 조건에 사용되는 num 변수가 만들어져야 합니다. 그렇지 않으면 다음과 같은 오류가 발생합니다.

while num < 10:
    num = int(input('숫자 입력: '))
실행결과
----> 1 while num < 10:
NameError: name 'num' is not defined

NameError는 변수가 만들어지지 않아서 발생하는 오류입니다. 만약 오류가 발생하지 않는다면 런타임을 다시 실행하세요. 런타임이란 파이썬 프로그램이 실행(run)되고 있는 시간(time)을 의미합니다. 이전 코드를 실행한 상태, 즉 이전 코드에서부터 런타임이 유지된 상태라면 앞 코드에서 마지막으로 입력한 12가 num 변수에 저장된 상태입니다. 따라서 오류가 발생하지 않습니다. 하지만 의도한 대로 명령어가 반복되지 않으니 정확한 프로그램이라 할 수 없습니다.

런타임을 재시작하려면 구글 코랩에서는 [메뉴 → 런타임 → 런타임 초기화]를 클릭합니다. 주피터 노트북에서는 메뉴의 [RUN] 버튼 오른쪽에 있는 돌아가는 화살표 모양 버튼( restart the kernel)을 클릭합니다. 기타 에디터 프로그램에서도 오류가 발생하지 않는다면 런타임을 초기화하고 재실행해 보세요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.