Q. 표준 입력 스트림에서 이미 읽은 데이터를 다시 읽을 수 있나?
A. 아니다. 딱 한 번만 읽을 수 있다. 일단 stdio.writeln()
을 호출하고 난 후에는 출력된 내용을 지울 수 없는 것과 마찬가지다.
Q. 표준 입력 스트림에 더 이상 데이터가 없을 때 프로그램에서 데이터를 읽으려고 시도하면 어떤 일이 생기나?
A. 실행 시 파이썬이 EOFError
예외를 발생시킨다. 입력 데이터가 더 있는지 확인하기 위해 stdio.isEmpty()
나 stdio.hasNextLine()
함수를 사용하면 이런 오류를 예방할 수 있다.
Q. stddraw.square(x, y, r)
함수가 변의 길이가 r
이 아닌 2r
인 정사각형을 그리는 이유는?
A. 이것은 stddraw.circle(x, y, r)
함수가 지름이 아니라 반지름이 r
인 원을 그리는 것과 일관성을 유지하기 위해서이다. stddraw.circle(x, y, r)
함수가 생성한 원은 stddraw.square(x, y, r)
함수가 생성한 정사각형 안에 들어가는 가장 큰 원이다.
Q. 프로그램에서 stddraw.show(0)
함수를 호출하면 어떻게 되나?
A. 배경 캔버스에 있는 이미지를 표준 그래픽스 창으로 복사하고 나서 0밀리초 동안 기다리게 한다. 즉 전혀 기다리지 않고 다음으로 넘어가게 만든다. 컴퓨터에서 지원하는 가장 빠른 속도로 애니메이션을 수행하려면 이렇게 함수를 호출할 수도 있다.