본문 바로가기
PROGRAMING📚/Python📑

파이썬(Phython) 터틀 그래픽 사용하기 / 다양한 원 만들기

Ta이니 2021. 4. 5.
728x90
반응형

파이썬(Phython) 터틀 그래픽 사용하기 /  다양한 원 만들기


 

//터틀 그래픽 - 거북이 그래픽//

 

*함수< 모듈 < 패키지(라이브러리)

*inprot 명령은 모듈(함수의 집합)을 사용하겠다는 의미

* t.penup/pendow : 펜 들기, 내리기 ->화면에 나오게하기/안 나오게하기

* t.shape() : 그리는 펜의 모양 설정하기 -> 기본모양 = 삼각형 화살표 모양

* t.forward() : 앞으로 이동

* t.letf() : 턴하는 각도

 

 

 

(예시 1)터틀그래픽을 사용하여 사각형 그리기

 

import turtle as t 

t.shape("turtle")

t.forward(150)  //변의 길이

t.left(90)         //90도 만큼 회전

t.forward(150)

t.left(90)

t.forward(150)

t.left(90)

t.forward(150)

t.left(90)

t.exitonclick()

* t.setpos( , ) : x, y 만큼 이동하기 

 

 

* for i in range(3):  //반복문 이용하기 

range(3) -> 0,1,2 range(1,4), range(1,4,1) 

*range(start, stop, step)*

 

(주의!)반복문을 사용할 때, 들여쓰기에 유의해야한다. 블럭 만큼 반복됨!

* t.exitionclick() : 이 함수를 사용하지 않고 디버깅 할경우, 실행 완료 후 창이 종료된다. 

함수를 이용할 경우, 클릭을 할 때 창을 종료시킨다. 즉, 실행 후 창을 유지 시킴

 

(예시 2)터틀 그래픽을 사용하여 삼각형 두개 그리기

 

 

 

 

import turtle as t

 

t.shape("turtle")

 

#삼각형 1개

t.forward(150)
t.left(120)
t.forward(150)
t.left(120)
t.forward(150)
t.left(120)

 

#위치 옮기기

t.penup()
t.setpos(-200,-100)
t.pendown()

 

#삼각형 2개

t.forward(150)
t.left(120)
t.forward(150)
t.left(120)
t.forward(150)
t.left(120)
t.setpos(300,200)

for i in range(3): 
    t.forward(150)
    t.left(120)

 

#종료 유지

t.exitonclick()

 

* t.pensize() : 선의 굵기

* t.color() : 선의 색깔

* t.bgcolor() : 배경색깔

* t.circle() : 반지름의 길이

* t.end_fill() : 도형 채우고 끝내기

* t.hidetutle() : 마우스모양 숨기기

* t.speed() : 그리는 속도

 

 

 

(예시 3)반복문을 이용하여 원그리기

 

import turtle as t

 

n = 50

 

t.bgcolor('black') #background color

t.color('yellow')

t.speed(0)

 

for i in range(70):

t.circle(80)

t.left(360/n) #n개 만큼 이용하여 원 만들기

t.hideturtle()  #거북이 숨기기

t.exitonclick()

 

 

 

 

 

 

(예시 3) 다양한 모양의 원 그리기

 

import turtle as t

t.shape("turtle")

t.color("blue")

t.pensize(3)

t.begin_fill()

t.circle(70) #반지름 길이

t.end_fill() #채우고 끝내기

t.penup()

t.setpos(-200,100)

t.pendown()

t.color("pink")

t.circle(50)

t.exitonclick()

 

 

 

 

728x90
반응형

댓글