파이썬 챌리지 09는 다음과 같습니다.
타이틀이 "connect the dots" 입니다. 소스코드를 보니 (1st X, 1st Y, 2nd X, 2nd Y ...) 좌표들이 나열되어 있고 이 점들을 연결하면 될 것 같습니다.
대부분의 풀이가 PIL 모듈의 ImageDraw를 이용한 것 같아서, 저는 turtle 모듈을 이용하여 풀어 보도록 하겠습니다.
goto(x좌표,y좌표) : 특정 위치로 펜 이동
up() : 좌표로 이동시 (turtle을 up시켜) 그림이 그려지지 않게 한다.
down() : 좌표로 이동시 (turtle을 down시켜) 그림이 그려지게 한다. (기본값)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | from turtle import * first = [146, 399, 163, 403 ... 147, 394, 146, 399] # 해당 좌표를 리스트로 대입 second = [156, 141, 165, 135 ... 157, 136, 156, 136] for i in range(0, len(first), 2): # 2칸씩 건너뛰면서 goto(X,Y)로 선 연결 goto(int(first[i]), int(first[i+1])) for i in range(0, len(second), 2): goto(int(second[i]), int(second[i+1])) # 아래 코드는 첫 시작 좌표로 이동시 그림을 그려지지 않기 위한 코드입니다. # turtle은 첫 시작 좌표로 이동하면서 선을 긋기 때문에 첫 좌표에서는 up()으로 펜을 띄워 그림이 그려지지 않게 한다. # for i in range(0, len(first), 2): # if i == 0: # up() # goto(int(first[i]), int(first[i+1])) # else: # down() # goto(int(first[i]), int(first[i+1])) # for i in range(0, len(second), 2): # if i ==0: # up() # goto(int(second[i]), int(second[i+1])) # else: # down() # goto(int(second[i]), int(second[i+1])) | cs |
아래와 같은 그림이 나왔습니다. 왜 거꾸로 나오는지 모르겠습니다. 혹시 아시는 분은 댓글로 남겨주세요~
황소를 영어로 하면?
bull
'WarGame > PythonChallenge' 카테고리의 다른 글
Python Challenge 11 :: Image(PIL) (0) | 2015.11.01 |
---|---|
Python Chanllenge 10 :: 읽고 말하기 수열 (0) | 2015.11.01 |
Python Challenge 08 :: bz2 (0) | 2015.10.31 |
python challenge 07 :: Image(PIL) (0) | 2015.10.30 |
Python Challenge 06 :: zipfile (0) | 2015.10.26 |