PS, 언어 공부/Python

[Turtle] 터틀 패턴그리기

Emil :) 2019. 10. 21. 22:35
728x90
반응형

<문제>

패턴그리기

<코드>

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

start = int(input("시작지점입력 :"))
ColumnCount = int(input("가로 길이 입력 : "))
PatternCount = int(input("패턴 횟수 : "))

t.goto(start, 300) #시작 좌표
distance = 50 #사각형 크기
angle = 90 #사각형 그릴 앵글

t.pendown()
t.speed(0)              #꼬부기 그리는 속도, 1~10까지 설정가능, 0이 가장 빠르다
for Row in range(10):   #가로줄 그릴 횟수
    for Column in range(ColumnCount):   #사각형 몇개그릴것인지, 이 문제에선 흑,백색 큐브 2개를 한쌍으로 엮는다.
        t.begin_fill()                  #흑색 먼저 할거니까 색칠해주기
        for DrawBlackSquare in range(4):#흑색 상자 그리기
            t.forward(distance)
            t.right(angle)
        t.end_fill()                    #백색 상자 그릴거니까 색칠 ㄴㄴ
        t.fd(distance)                  #백색 상자 위치로 이동
        for DrawWhiteSquare in range(4):#백색 상자 그려주기
              t.forward(distance)
              t.right(angle)
        t.fd(distance)

    t.penup()                           #다음 줄 그리기 위해 펜 떼주기

    for i in range(10):                 #패턴을 그리기 위해서 다음 줄의 X좌표를 왼쪽으로 살짝 땡겨주기
        if (Row+1) % PatternCount == i: #나머지 연산을 사용해주자
            t.goto(start - 10 * ((Row+1) % PatternCount), 300 - 50 * (Row + 1)) #x좌표만큼 땡겨주고, 윗줄의 y좌표만큼 아래로 내려와야됨
    t.pendown()

#클릭 시 종료
t.exitonclick()

<결과>

클릭하면 잘보임

728x90
반응형