profile image

L o a d i n g . . .

article thumbnail image
Published 2021. 9. 29. 16:19

터틀(Turtle) 그래픽은 화면에 그림을 그릴 수 있는 기능으로 파이선에서 기본 제공되는 모듈이다.

 

모듈 선언

import turtle

 

별명 사용

import turtle as t

 

커서 모양

t.shape( 'turtle' )

classic, arrow, circle, square, triangle   # << 키워드

 

 

메인루프(실행상태 유지)

t.done()

 

 

turtle 메서드

t.write(t.position()) #출력문

t.setup(800, 600) #화면 크기

t.forward(50) #커서 전진

t.backward(50) #커서 후진

t.left(90) #커서 반시계 방향으로 회전

t.right(90) #커서 시계방향으로 회전

t.goto(50, 50) #커서를 지정된 좌표로 이동

t.penup() #그리기 상태 해제

t.pendown() #그리기 상태로 설정

t.pencolor('yellow') # 펜 색상 설정

t.pensize(3) # 펜 사이즈 설정

t.setheading() #커서방향 설정(오른쪽 방향이 0)

 

거북이 연속 이동

for i in range(5):
    t.forward(100)
    t.right(144)
    
t.done() # 마지막 라인에 메인루프 작성(필수)

정사각형 그리기

# 한 변의 길이가 200인 정사각형, 원점 중심 goto 이용
t.penup()
t.goto(100, 100)

t.pendown()
t.goto(-100, 100)
t.goto(-100, -100)
t.goto(100, -100)
t.goto(100, 100)

# forward 로 사각형 그리기
t.penup()
t.forward(100)

t.left(90)
t.pendown()
for i in range(4):
	t.forward(100)
	t.left(90)

거북이 별그리기

for i in range(5) : # 반복문, i 변수는 0 ~ 4 까지 반복
    t.forward(100) # 커서 전진
    t.right(144) # 커서 지정된 각도만큼 시계방향 회전

사인함수 그래프 그리기

t.penup()
t.goto(-180, 0)
t.pendown()
for x in range(-180, 180) :
    t.goto(x, math.sin(x * math.pi / 180)*100) # radian 각도로 설정해야 함

t.done()

 

이벤트 처리 (키보드, 마우스)

t.onkeypress(함수, "key") # 키입력
• t.onscreenclick(함수, 번호) # 마우스 클릭(1 : 왼쪽, 2: 가운데, 3 : 오른쪽)
• t.listen() # 입력 포커스

 

up 방향키 입력시 전진

import turtle as t

t.shape('turtle')

def moveUp():
    t.setheading(90) # 오른쪽이 0
    t.forward(30)
    
def moveDown():
    t.setheading(-90)
    t.forward(30)

def moveLeft():
    t.setheading(180)
    t.forward(30)
    
def moveRight():
    t.setheading(0)
    t.forward(30)


t.onkeypress(moveUp, "Up")
t.onkeypress(moveDown, "Down")
t.onkeypress(moveLeft, "Left")
t.onkeypress(moveRight, "Right")

t.listen()
t.done()

 

 

글씨 쓰기

import turtle as t
t.shape("turtle")

datastr = "파이썬 프로그래밍"

t.write(datastr, font=('굴림', 20, 'normal')) # 서체, 크기, 스타일 


t.done()

포인터 위치에 출력된다.

 

'Language > Python' 카테고리의 다른 글

[Python] 터틀 그래픽 예제 1번  (0) 2021.10.13
[Python] 기본 입출력, 문자열  (0) 2021.09.08
복사했습니다!