본문 바로가기
파이썬

파이썬 기본패키지 turtle 모듈 사용법

by ㈜㎹Ω∞ 2022. 7. 19.
728x90

turtl은 다양한 그림을 그릴 수 있게 해주는 패키지입니다.

 

turtle

turtle사용법은 import키워드를 사용해서 turtle모듈을 가져오고 turtle.Turtle()을 사용해서 객체를 생성합니다. (as 키워드를 사용해서 turtle이름을 t 또는 다른 이름으로 바꿔서 작성할 수 있습니다.)

 

import turtle as t

t.Turtle()
t.bgcolor("black")	### 배경색
t.color("white")	### 글자색
t.speed(5)	### 속도

t.forward(100)	### 직선
t.left(90)	### 90도로꺽기
t.forward(100)
t.left(90)
t.forward(100)
t.left(90)
t.forward(100)
t.circle(50)	### 동그라미

 

  • 위 코드를 사용하면 네모와 겹친 동그라미 모양이 나옵니다. speed숫자를 올리면 속도가 빨라지고, forward숫자를 줄이거나 늘리면 네모 크기가 작아지거나 커집니다.
  • 삼각형, 사각형, 등등 다른 모양을 만들려면 360나누기 꼭지점갯수를 하면 됩니다.
  • circle숫자를 바꾸면 원이 커지거나 작아집니다.

 

반복문사용

갯수가 많아지거나, 모양이 복잡해지면 코드가 길어집니다. 그럴때는 반복문을 사용하면 더 간편하게 작성할 수 있습니다.

 

  • for, range()

 

# 1.네모
for i in range(4):	### 꼭지점갯수4개
    t.forward(100)	### 직선
    t.left(90)	###왼쪽으로 90도꺽기

# 2.꽃모양
for i in range(5):	### 꼭지점갯수5개
    t.circle(10)	### 동그라미
    t.left(72)	### 왼쪽으로 72도꺽기

# 3.점점커지는 동그라미
a=15	### 동그라미 크기
for i in range(6):	### 꼭지점갯수6개
    t.circle(a)
    a+=10	### 한번반복할때마다 10씩 커짐

 

 

range(숫자)는 꼭짓점 갯수로 생각하면 됩니다. 

  1. 네모는 직선으로 100가고 왼쪽으로 90도 꺾습니다. 이 행위를 4번 반복합니다.
  2. 꽃 모양은 10크기의 원 하나를 만들고 72도로 꺾습니다. 이 행위를 5번 반복합니다.
  3. 점점 커지는 동그라미 모양은 첫 번째 원 크기를 a에 정하고, 점점 커지는 숫자를 a+=숫자에 적습니다. range에 반복할 숫자를 입력해서 횟수만큼 동그라미가 그려집니다.

 

 

# 1.많아지는 꼭지점
count=2
for i in range(15):
    count+=1
    for j in range(count):
        t.forward(50)
        t.left(360/count)

# 2.겹치는사각
for i in range(10):
    t.left(36)
    for j in range(4):
        t.forward(50)
        t.left(90)

# 3.커지는 사각
a=15
for i in range(100):
    a+=2
    t.forward(a)
    t.left(90)

 

  1. count=2로 꼭짓점 갯수를 설정했습니다. 처음 for 문을 돌때마다 count가 1씩 더해집니다. 다음 for문은 range(count)로 설정해서 삼각형부터 그려지고, 그다음부터 사각, 오각, 등등 점점 늘어납니다. (총 15개의 도형이 만들어집니다.) 또한 t.left(360/count)로 설정해놔서 360도에서 꼭짓점 갯수만큼 나눠서 실행됩니다.
  2. 이중 for문을 사용해서 사각형 모양을 겹치게 만들었습니다. 첫 번째 for문은 총 10번 반복하고 36만큼 왼쪽으로 회전하고 두 번째 for문으로 갑니다. 10번 반복하면 겹치는 사각형 모양이 완성됩니다.
  3. a에 직선 크기를 정해줬고, for문을 돌때마다 +2가 됩니다. left를 90으로 맞춰주면 똑바르게 점점 커지고, left숫자를 높이거나 줄이면 삐뚤하게 커집니다.

 

기본키워드

  • turtle.Turtle() : turtle 객체 생성
  • turtle.bgcolor("색깔") : 배경 색상 선택(영어 or 색상 코드)
  • turtle.color("색깔") : 펜 색상 선택(영어 or 색상 코드)
  • turtle.speed(숫자) : 펜이 움직이는 속도 정함
  • turtle.penup() : 펜을 들어서 그리는 것을 멈춤
  • turtle.pendown() : 펜을 내려서 그림
  • turtle.forward(숫자) : 입력한 숫자만큼 앞으로
  • turtle.left(숫자) : 입력한 숫자만큼 왼쪽으로 회전
  • turtle.righr(숫자) : 입력한 숫자만큼 오른쪽으로 회전
  • turtle.circle(숫자) : 입력한 숫자 크기로 원을 그림
  • turtle.goto(x좌표, y좌표) : 입력한 좌표로 이동

 

728x90

댓글