
Python의 turtle 라이브러리를 이용한 다각형 그리기 입니다.
위의 사진과 같이 그리기 위해 도형을 살펴보면
삼각형부터 팔각형까지 총 6개의 도형이 겹쳐져 그려져 있습니다.
import turtle as t
먼저 turtle을 t로 불러와줍니다.
turtle 라이브러리를 불러오고 그것을 사용할때 t로 사용하겠다는 의미입니다.
t.shape()
t.shape()는 커서의 모양을 지정합니다.
기본적으로 작성을 하지 않거나 괄호 안을 비우면 arrow로 됩니다.
거북이 모양을 원하시면 t.shape("turtle")로 선언하시면 됩니다.
t.ht()
t.ht()의 경우 커서를 감추는 hide turtle을 줄여서 제공하는 함수 입니다.
t.ht()를 쓰지 않으면 삼각형의 커서가 보이게 됩니다.
n = 3
n은 3으로 지정하였습니다. 여기서 n은 n각형의 의미로 사용하려고 하였고
최종적으로 만들어야 하는 그림에 삼각형부터 만들기 때문에 3으로 지정했습니다.
for i in range(6):
for문을 사용하여 6번 반복하도록 설정하였습니다.
6번인 이유는 삼각형 ~ 팔각형까지 6번 그려야 하기 때문입니다.
for j in range(n):
for문을 사용하여 n번 반복하도록 설정하였습니다.
위에서 n이 n각형의 의미를 가진다고 설명드렸었습니다.
n각형이란 변수가 n개인 것이기 때문에
처음 실행할때 위에서 설정한 n = 3에 의해 3번 반복하는 for문이 됩니다.
t.forward(50)
t.forward(50)은 앞으로 50만큼 전진한다는 의미입니다.
원하는 만큼 값을 넣을 수 있고
상황에 따라 값을 다르게 하는 변수로도 넣어서 설정 할 수 있습니다.
t.left(360/n)
t.left(360/n)에서 t.left는 예상하신대로 왼쪽으로 방향을 전환하는 것입니다.
정확히 이야기하면 위에 t.forward(50)으로 앞으로 50만큼 전진한 후 진행했던 방향으로 보고 있는 상황에서
멈추어 서서 좌측으로 각도를 돌리는 것입니다.
여기서 360 / n의 경우 도형의 내각을 구하는 공식을 적용하였습니다.
모든 닫힌 도형은 내각의 총 합이 360이 되게 됩니다.
삼각형일 경우 360 / 3 = 120 도
사각형의 경우 360 / 4 = 90 도
그러므로 도형을 그릴때 꺽어주는 각도를 도형에 맞게 자동으로 계산하여 대입해줍니다.
n += 1
마지막으로 n을 1씩 더해줍니다.
n += 1이란 n = n + 1을 줄인 것과 같습니다.
도형을 한가지 다 그리고 다음 도형으로 넘어가기 위해 있는 부분입니다.
* 전체 코드
import turtle as t
t.shape()
t.ht()
n = 3
for i in range(6):
for j in range(n):
t.forward(50)
t.left(360/n)
n += 1
이중 for문을 사용하였고 첫번째 for문은 도형을 몇 개를 그릴 것인지 설정하는 것이고
두번째 for문은 n으로 지정된 n각형 도형을 그려주는 반복문 입니다.
첫번째 for문의 1사이클 : n = 3이므로 두번째 for문 3번 실행 -> 삼각형을 그림.
첫번째 for문의 2사이클 : n = 4이므로 두번째 for문 4번 실행 -> 사각형을 그림.
첫번째 for문의 3사이클 : n = 5이므로 두번째 for문 5번 실행 -> 오각형을 그림.
첫번째 for문의 4사이클 : n = 6이므로 두번째 for문 6번 실행 -> 육각형을 그림.
첫번째 for문의 5사이클 : n = 7이므로 두번째 for문 7번 실행 -> 칠각형을 그림.
첫번째 for문의 6사이클 : n = 8이므로 두번째 for문 8번 실행 -> 팔각형을 그림.
숫자를 다양하게 변경하면서 동작을 확인하는 것도 좋은 방법입니다.
'Program language > Python' 카테고리의 다른 글
| 네이버 검색어 자동 변경 피하기 (0) | 2025.09.03 |
|---|---|
| 파이썬 데이터 수집 : 1. Requests (1) | 2025.07.19 |
| turtle을 이용한 1삼각형, 3원 한붓 그리기 (0) | 2020.09.23 |