본문 바로가기

카테고리 없음

파이썬 터틀로 사각형 그리기 : 활용 꽃그리기 + 풀코드

파이썬의 터틀 라이브러리를 이용해서 사각형을 그리고 회전 시키면서 또 그리면 이쁜 꽃모양이 나옵니다ㅎㅎ 어떻게 하는지 코드를 첨부했으니 코드 확인 ~

 

파이썬-터틀-꽃

 

위처럼 터틀로 꽃모양을 그릴 수 있습니다. 사실 단순한 사각형을 여러번 그리는것 뿐이긴 합니다만 그럴듯 하죠? ㅎㅎ

 

renderRect라는 함수를 만들어줍니다.

def renderRect(tt, w , h):
    wh =[w,h,w,h]
    for v in wh :
        tt.forward(v)
        tt.left(90)

renderRect는 함수명에서도 충분히 유추할 수 있듯이 사각형을 렌더링 해주는 함수입니다. 매개변수로는 터틀 인스턴스와 w (width) 가로길이 , h (height) 세로길이 입니다.

가로와 세로를 받아서 wh 리스트에 할당합니다.

for문을 돌면서 (4번 : 사각형은 4변으로 이루어졌으니까요) 가로 한번 그리고,  90도 돌고, 세로 한번 그리고 90도 돌고 이렇게 반복하면서 사각형을 그려줍니다.

 

터틀-사각형그리기

함수를 한번만 호출하면 이렇게 됩니다. 

 

 

 

이제 사각형 그리기를 한번 완료했으면, 45도 돌아서 그상태로 사각형을 한번 더 그려줍니다.

2차시도 

터틀-사각형그리기-2차

 

... 계속 반복

 

이렇게 총 8번을 돌면 맨처음에 보여드렸던 꽃(?) 모양의 사각형이 됩니다. 

 

반복은 어떻게 하죠?

네 반복은 for문 또는 while문을 이용합니다. 예전에 선생님이 가르쳐 줄때 while이 소형차라면 for 문은 안전한 중형차라고 했었는데... 음 시간이 진짜 오래 지나고 난뒤에 그게 무슨말이었는지 이해가 가는것 같기도 합니다.

 

for문 while 문 어떻게 사용하는지 잘 모르겠다면 요기!

 

for문은 조건이 처음부터 나타나니까 조금더 직관적이라고 해야할까요? 이해가 쉽다고 해야할까요.. 암튼 뭐 그렇습니다. 사실 둘다 하는 기능은 (반복을 하는것으로 )같으니까 원하는걸로 사용하시면 되겠습니다 ㅋ

 

 

 

풀코드는 아래에 있습니다.

import turtle as tt

tt.shape("turtle")
tt.speed(10)



#사각형을 그리는 함수
def renderRect(tt, w , h):
    wh =[w,h,w,h]
    for v in wh :
        tt.forward(v)
        tt.left(90)


angle = 45
w = 100
h = 100
 


#사각형을 회전하면서 8번 그려라

for i in range(8):
    renderRect(tt,w,h)
    tt.left(angle)


tt.done()

 

그럼 이렇게 오늘도 즐거운(?) 파이썬 놀이를 해봤습니다. ㅎㅎ

 

 

- 파이썬 거스름돈 구하기는 어떻게 하니?

 

- 파이썬으로 소수 구하기 이거 과제로 잘나오던데??

 

 

 

파이썬-터틀-사각형그리기-썸네일