터틀 그래픽(Turtle Graphics)은 그래픽 디자인 및 컴퓨터 프로그래밍 교육을 위한 프로그래밍 언어 및 환경의 일부이다. 이름에서 유추가 되듯이 “터틀(=거북이)”이 화면 위에서 그림을 그리기 위해 사용되는 그래픽 펜을 의미한다. 파이썬의 일부분으로 파이썬을 배울 때 아주 좋은 교육 환경을 제공하며, 터틀에게 지시를 내려 그림을 그리거나 다양한 도형, 게임 등을 구현할 수 있다. 기본적인 컨트롤 구조 및 루프 개념을 가르치는데 매우 유용하며 학생들이 명령어를 사용하여 터틀을 이동시키고 그림을 그릴 수 있도록 도와주며, 이 과정에서 문제 해결 능력과 논리적 사고를 향상 시킬 수 있다.
Table of Contents
터틀 그래픽 기초 문법
![[파이썬] 초보자도 쉽게 배우는 터틀 그래픽, 그림 그리듯 코딩하기 1 터틀 그래픽 모듈](https://www.shindeacon.co.kr/wp-content/uploads/2024/06/그림2-1.gif)
아래는 터틀이 지나가면서 선을 그리고 있는 모습이다.
1. 터틀 그래픽 실행하기
1.1. IDLE Shell에서 터틀 그래픽 실행하기
- 파이썬을 설치하면 기본으로 함께 설치가 되어 별도 설치할 필요가 없다. # 설치는 개발구축환경 글 참조#
- 시작메뉴에서 IDLE Shell을 찾아 실행하면 되는데, 설치한 파이썬에 따라 버전이 다를 수 있다.
- IDLE Shell을 실행하면 File에서 new file을 눌러 새창에서 코드를 입력해야 한다.
![[파이썬] 초보자도 쉽게 배우는 터틀 그래픽, 그림 그리듯 코딩하기 2 IDLE Shell](https://www.shindeacon.co.kr/wp-content/uploads/2024/06/image-5-optimized.png)
1.2. 비주얼 스튜디오 코드(VSC)에서 실행하기
- 비주얼 스튜디오 코드를 설치하는 방법은 아래 내용의 개발환경 설정을 참조하면 된다.
- 파이썬 설치도 아래를 참조하면 좋다.
1.3. 터틀 그래픽 호출하기(import)
import turtle # 터틀그래픽 모듈을 호출시킴
turtle.Turtle(“turtle”) #터틀의 모양을 “turtle”로 정하라는 뜻
turtle.mainloop() # 터틀 그래픽 창을 계속 루프 함(IDLE Shell에서 할 경우 입력을 안해도 된다)
![[파이썬] 초보자도 쉽게 배우는 터틀 그래픽, 그림 그리듯 코딩하기 3 터틀 호출하기](https://www.shindeacon.co.kr/wp-content/uploads/2024/06/image-6-optimized.png)
2. 터틀 모양 알아보기
turtle.Turtle(“turtle”) # "turtle" 대신 다른 이름으로 쓰면 적용이 된다.
- 터틀 그래픽에서 터틀의 모양은 5가지를 지원한다.
- “turtle” : 거북이
- “triangle” : 세모
- “square” : 네모
- “circle” : 원
- “classic” : 기본 화살표
- 적용 방법
import turtle
turtle.Turtle(“triangle”) # 세모 모양, 만약 다른 모양으로 할 경우 다른 모양 이름을 쓰면 된다.
turtle.mainloop()
3. 터틀 기본 명령어
기본 세팅 명령어 | |
import turtle | turtle 모듈을 불러옴 |
import turtle as t | -turtle 모듈을 불러온 후, turtle 대신 t를 사용한다. 예시) turtle.forward(10)이 아니라 t.forward를 사용한다. |
from turtle import* | -터틀 모듈을 불러온 후 turtle을 생략하여 사용한다. 예시) turtle.forward(10)이 아니라 forward(10)를 사용한다. |
turtle.shape( ) | -turtle 모듈의 아이콘 모양을 바꾸는 명령어 turtle.shape(‘터틀’) :거북이 모양 아이콘 설정 turtle.shape(‘classic’): 기본 아이콘 모양(화살표) turtle.shape(‘triangle’): 삼각형 아이콘 설정 turtle.shape(‘circle’) : 원형 아이콘 설정 turtle.shape(‘square’) : 사각형 아이콘 설정 |
이동과 관련된 명령어 | |
turtle.forward(a) | -거북이 머리 방향으로 a 만큼 이동 – turtle.fd( ) : 줄여서 사용 가능 |
turtle.backward( a) | -거북이 머리 반대 방향으로 a 만큼 이동 – turtle.back( ) : 줄여서 사용 가능 |
turtle.right(a ) | -거북이 머리 방향을 오른쪽으로 a만큼 회전 – turtle.rt( ) : 줄여서 사용 가능 |
turtle.left( a) | -거북이 머리 방향을 왼쪽으로 a 만큼 회전 – turtle.lt( ) : 줄여서 사용 가능 |
turtle.setheading(a) | -거북이 머리 각도를 a 만큼 회전 – 거북이 머리 방향을 기분으로 왼쪽으로 돌면 +각도로 회전 |
4. 터틀 전진하기
- turtle.forward(100) : 앞으로 100만큼 전진하기(괄호의 숫자만큼 이동함)
import turtle
turtle.Turtle() # 터틀 오브젝트 생성
turtle.shape(“turtle”) # 터틀 모양을 turtle로 지정
turtle.forward(100) # 앞으로 100만큼 전진
turtle.mainloop() # 프로그램이 닫히지 않게 기다림
![[파이썬] 초보자도 쉽게 배우는 터틀 그래픽, 그림 그리듯 코딩하기 4 터틀 전진하기](https://www.shindeacon.co.kr/wp-content/uploads/2024/06/그림3.gif)
5. 터틀 회전하기
- turtle.right(90) : 오른쪽으로 90도 회전하기
- turtle.left(90) : 왼쪽으로 90도 회전하기
import turtle
turtle.Turtle() # 터틀 오브젝트 생성
turtle.shape(“turtle”) # 터틀 모양을 turtle로 지정
turtle.forward(100) # 앞으로 100만큼 전진
turtle.right(90) # 오른쪽으로 90도 회전
turtle.mainloop() # 프로그램이 닫히지 않게 기다림
![[파이썬] 초보자도 쉽게 배우는 터틀 그래픽, 그림 그리듯 코딩하기 5 전진 후 회전하기](https://www.shindeacon.co.kr/wp-content/uploads/2024/06/그림4.gif)
터틀이 앞으로 100만큼 전진 후 오른쪽으로 90도 회전하기
6. 사각형 그리기
import turtle
turtle.Turtle() # 터틀 오브젝트 생성
turtle.shape(“square”) # 터틀 모양을 turtle로 지정
turtle.forward(200) # 앞으로 200만큼 전진
turtle.left(90) # 왼쪽으로 90도 회전
turtle.forward(200) # 앞으로 200만큼 전진
turtle.left(90) # 왼쪽으로 90도 회전
turtle.forward(200) # 앞으로 200만큼 전진
turtle.left(90) # 왼쪽으로 90도 회전
turtle.forward(200) # 앞으로 200만큼 전진
turtle.mainloop() # 프로그램이 닫히지 않게 기다림
![[파이썬] 초보자도 쉽게 배우는 터틀 그래픽, 그림 그리듯 코딩하기 6 사각형 그리기](https://www.shindeacon.co.kr/wp-content/uploads/2024/06/그림5.gif)
7. 반복형 코드로 도형 그리기
- for문은 반복으로 사용을 하며, i의 값이 range(0,4)만큼의 횟수를 반복하게 된다.
- 데이터는 4를 제외한 0, 1, 2, 3의 데이터를 가지는데 0은 생략이 가능하기에 (0, 4)를 (4)로 표시해도 된다.
import turtle
turtle.Turtle() # 터틀 오브젝트 생성
turtle.shape(“turtle”) # 터틀 모양을 turtle로 지정
for I in range(4): # 4번 반복
turtle.forward(100) # 앞으로 100만큼 전진
turtle.right(90) #오른쪽으로 90도 만큼 회전
turtle.mainloop() # 프로그램이 닫히지 않게 기다림
![[파이썬] 초보자도 쉽게 배우는 터틀 그래픽, 그림 그리듯 코딩하기 7 for문으로 도형그리기](https://www.shindeacon.co.kr/wp-content/uploads/2024/06/그림6.gif)
8. 삼각형 그리기
- 도형을 그리는 방법은 동일한 코드를 연속으로 넣는 방법과 for문을 이용한 반복문을 사용할 수 있다.
import turtle
turtle.Turtle() # 터틀 오브젝트 생성
turtle.shape(“turtle”) # 터틀 모양을 turtle로 지정
for I in ragne(3): # 3번 반복
turtle.forward(100) # 앞으로 100만큼 전진
turtle.left(120) #왼쪽으로 120도 만큼 회전
turtle.mainloop() # 프로그램이 닫히지 않게 기다림
- 삼각형의 회전 각도 = 360 ÷ 3
![[파이썬] 초보자도 쉽게 배우는 터틀 그래픽, 그림 그리듯 코딩하기 8 삼각형 그리기](https://www.shindeacon.co.kr/wp-content/uploads/2024/06/그림7.gif)
9. 오각형 그리기
import turtle
turtle.Turtle() # 터틀 오브젝트 생성
turtle.shape(“turtle”) # 터틀 모양을 turtle로 지정
for I in ragne(5): # 5번 반복
turtle.forward(100) # 앞으로 100만큼 전진
turtle.right(72) #오른쪽으로 72도 만큼 회전
turtle.mainloop() # 프로그램이 닫히지 않게 기다림
- 오각형의 회전 각도 = 360 ÷ 5
![[파이썬] 초보자도 쉽게 배우는 터틀 그래픽, 그림 그리듯 코딩하기 9 오각형 그리기](https://www.shindeacon.co.kr/wp-content/uploads/2024/06/그림8.gif)
10. 수식으로 각도 정하기
- 도형의 회전 각도 = 360 ÷ (n각형) #그리고자 하는 도형의 각을 n에 넣으면 된다.
import turtle
turtle.Turtle() # 터틀 오브젝트 생성
turtle.shape(“turtle”) # 터틀 모양을 turtle로 지정
for I in ragne(8): # 8번 반복
turtle.forward(100) # 앞으로 100만큼 전진
turtle.right(360/8) # 360/8 만큼 회전
turtle.mainloop() # 프로그램이 닫히지 않게 기다림
![[파이썬] 초보자도 쉽게 배우는 터틀 그래픽, 그림 그리듯 코딩하기 10 팔각형 그리기](https://www.shindeacon.co.kr/wp-content/uploads/2024/06/그림9.gif)
11. 터틀 펜 색상 및 배경 색상 지정하는 방법
- turtle.color() : 터틀 펜 색상 정하기
- turtle.bgcolor() : 배경색상을 흰색에서 다른 색으로 지정할 수 있다.
- 컬러 색상은 반드시 ” ” 안에 컬러명을 넣어야 한다.
turtle.color(“blue”) # 터틀 색상을 블루로 지정
turtle.bgcolor(“pink”) # 배경 색상을 핑크로 지정
- 컬러 리스트는 아래 링크에서 참조하여 사용이 가능하다.
12. 터틀 펜 및 배경색 적용하기
import turtle as t # 터틀그래픽 모듈을 t로 설정
t.shape(“turtle”) # 터틀 모양을 turtle로 지정
t.color(“blue”) # 터틀 색상을 블루로 지정
t.bgcolor(“pink”) # 배경 색상을 핑크로 지정
t.mainloop()
![[파이썬] 초보자도 쉽게 배우는 터틀 그래픽, 그림 그리듯 코딩하기 11 터틀 펜 색상 및 배경색 적용하기](https://www.shindeacon.co.kr/wp-content/uploads/2024/06/그림10-1-optimized.png)
13. 삼각형, 사각형, 오각형을 색상별 그리기
import turtle as t
t.shape(“turtle”) # 터틀 모양을 turtle로 지정
t.bgcolor(“hotpink”)
t.color(“red”)
for I in range(4): # 사각형이므로 4번 반복
t.forward(100) # 앞으로 100만큼 전진
t.left(90) #오른쪽으로 90도 만큼 회전
t.color(“black”)
for I in range(3): # 삼각형이므로 3번 반복
t.forward(100) # 앞으로 100만큼 전진
t.left(120) #오른쪽으로 90도 만큼 회전
t.color(“white”)
for I in range(5): # 오각형이므로 5번 반복
t.forward(100) # 앞으로 100만큼 전진
t.left(360/5) #오른쪽으로 90도 만큼 회전
t.mainloop() # 프로그램이 닫히지 않게 기다림
![[파이썬] 초보자도 쉽게 배우는 터틀 그래픽, 그림 그리듯 코딩하기 12 삼각형 사각형 오각형 그리기](https://www.shindeacon.co.kr/wp-content/uploads/2024/06/그림11.gif)