이 코드가 놓인 수업

파이썬 수학 → 클래스와 모듈 응용 (21 ~ 30) → turtle이용한 함수활용에서 가져온 ‘3단계: penup, goto, pendown으로 원 그리기’ 코드입니다. 단원 전체를 요약하는 대신 이 단계가 담당하는 작업을 한 가지씩 읽습니다. 코드 속 이름·점수·예시 자료는 교재의 연습 데이터이며 실제 학생의 기록이나 성과를 소개하는 자료가 아닙니다.

학습 목표는 코드를 그대로 입력하는 데서 멈추지 않고, 어떤 값이 준비되고 어떤 조건에서 결과가 달라지는지를 설명하는 것입니다. 다음 질문에 먼저 답을 적고 코드와 대조해 보세요.

첫 호출과 마지막 호출의 순서를 바꾸면 무엇이 달라질지 코드의 실제 명령을 짚어 설명해 보세요.

원본 코드와 핵심 줄

king.penup()
king.goto(-100, 100)
king.pendown()

king.color('green')
king.begin_fill()
king.circle(100)
king.end_fill()

아래 행 번호는 위 코드 블록의 첫 줄을 1행으로 셉니다. 긴 예제에서는 주요 문장 10개까지 짚었습니다. 함수 안의 줄은 함수를 호출할 때 실행되므로, 행 번호 순서와 실제 실행 순서가 항상 같은 것은 아닙니다.

  • 1행: king.penup()를 호출합니다. 호출 앞뒤로 대상의 상태가 달라지는지 살펴보세요.
  • 2행: king.goto(-100, 100)를 호출합니다. 호출 앞뒤로 대상의 상태가 달라지는지 살펴보세요.
  • 3행: king.pendown()를 호출합니다. 호출 앞뒤로 대상의 상태가 달라지는지 살펴보세요.
  • 5행: king.color('green')를 호출합니다. 호출 앞뒤로 대상의 상태가 달라지는지 살펴보세요.
  • 6행: king.begin_fill()를 호출합니다. 호출 앞뒤로 대상의 상태가 달라지는지 살펴보세요.
  • 7행: king.circle(100)를 호출합니다. 호출 앞뒤로 대상의 상태가 달라지는지 살펴보세요.
  • 8행: king.end_fill()를 호출합니다. 호출 앞뒤로 대상의 상태가 달라지는지 살펴보세요.

실행 전에 준비할 것과 확인 결과

이 예제는 앞 단계 코드 또는 별도 실행 환경이 필요한 코드 읽기 자료입니다. 문법은 확인했지만 이 블록만의 완성 프로그램 실행은 확인하지 않았습니다. 확인한 실행 조건: 그래픽 또는 앞 단계 객체 필요. 거북이 그래픽은 수업에서 사용하는 그래픽 지원 실행 환경이 필요합니다.

결과를 이해하는 확인 활동

선을 그리는 구간과 채우는 구간

begin_fill과 end_fill 사이의 경로가 채울 도형을 만듭니다. 펜을 든 이동, 선 색, 채우기 색은 서로 다른 설정입니다. 색만 바꾸었다고 경로가 달라지는 것은 아닙니다.

확인 활동: 같은 이동 경로에서 채우기 색만 바꾸어 보세요. 도형의 크기는 그대로인지 확인하세요.

원의 반지름과 거북이 위치

circle의 크기는 반지름입니다. 원의 중심이 언제나 거북이의 현재 위치라고 생각하면 여러 원을 배치할 때 어긋납니다. 현재 방향과 원을 그리는 시작점을 함께 관찰합니다.

확인 활동: 반지름을 두 배로 바꿨을 때 지름도 두 배가 되는지 확인하고, 시작점은 그대로인지 비교하세요.

움직임과 선을 분리합니다

penup 상태에서도 거북이의 위치는 바뀌지만 이동 선은 남지 않습니다. pendown 이후부터 다시 선이 생깁니다. 좌표 이동 전에 펜 상태를 확인하면 원하지 않는 연결선을 줄일 수 있습니다.

확인 활동: 같은 이동을 펜을 든 경우와 내린 경우로 나누어 실행하고 경로는 같지만 선은 다른지 확인하세요.

한 번 바꾸고, 이유를 남기기

  1. 원래 코드의 복사본을 준비하고 바꾸려는 줄을 하나 고릅니다. 위 확인 활동에 제시한 입력·조건·설정 중 하나만 선택하세요.
  2. 바꾸기 전에 예상 결과를 한 문장으로 적습니다. 오류가 예상된다면 오류가 날 이유와 위치도 적어 둡니다.
  3. 필요한 실행 환경과 앞 단계 정의를 준비한 뒤 실행합니다. 원본과 수정본을 번갈아 보면서 값·문자·그림 중 무엇이 달라졌는지 기록합니다.
  4. ‘작동했다’ 대신 바꾼 줄 → 관찰한 결과 → 그렇게 된 이유를 남깁니다. 예상과 다르면 마지막 오류 메시지와 관련된 줄을 함께 가져와 질문합니다.

이 글의 확인 질문은 첫 호출과 마지막 호출의 순서를 바꾸면 무엇이 달라질지 코드의 실제 명령을 짚어 설명해 보세요. 입니다. 보호자는 정답을 먼저 알려주기보다 아이가 실제 변수나 조건을 짚어 설명하는지 들어보세요. 어려워하면 단원 전체를 다시 시키기보다 위 핵심 줄 중 막힌 한 줄로 범위를 좁힙니다.

같은 과정의 코드 노트 목록에서 앞뒤 단계를 이어 볼 수 있습니다. 실행 환경이나 시작 단계가 궁금하면 파이썬 과정 안내를 확인하세요.