pythonchallenge level14
2009. 11. 17. 19:35
http://www.pythonchallenge.com/pc/return/italy.html
이 문제에서 참 많이 헤멨다. 포럼의 힌트들을 몇번씩 읽어봐도 감이 전혀 오질 않았다.
여기저기서 헤메던 중 쭌사마가 준 힌트가 결정적 이었다.
풀어야지 풀어야지 하다가 안보이는 눈으로 더듬더듬 풀어냈다.
얼마나 채워야 그림이 완성될지 모르겠어서 rounds 값을 조금씩 늘려 외곽부터 채워서 완성.
http://www.pythonchallenge.com/pc/return/cat.html
이 문제에서 참 많이 헤멨다. 포럼의 힌트들을 몇번씩 읽어봐도 감이 전혀 오질 않았다.
여기저기서 헤메던 중 쭌사마가 준 힌트가 결정적 이었다.
풀어야지 풀어야지 하다가 안보이는 눈으로 더듬더듬 풀어냈다.
얼마나 채워야 그림이 완성될지 모르겠어서 rounds 값을 조금씩 늘려 외곽부터 채워서 완성.
import Image def get_croissant(something, count, rounds, nw): wire_pixel = 0 while wire_pixel < something: for i in range(count, 100-count): tmp = im.getpixel((wire_pixel,0)) nw.putpixel((i,count),tmp) wire_pixel += 1 for i in range(count+1, 100-count): tmp = im.getpixel((wire_pixel,0)) nw.putpixel((100-count-1,i),tmp) wire_pixel += 1 for i in range(100-count-2,count-1,-1): tmp = im.getpixel((wire_pixel,0)) im_new.putpixel((i,100-count-1),tmp) wire_pixel += 1 for i in range(100-count-2,count,-1): tmp = im.getpixel((wire_pixel,0)) nw.putpixel((count,i),tmp) wire_pixel += 1 count += 1 if count >= rounds: break nw.show() im = Image.open('wire.png') max = im.size[0] im_new = Image.new('RGB',(100,100)) get_croissant(max, 0, 40, im_new)
http://www.pythonchallenge.com/pc/return/cat.html
'War game > pythonchallenge' 카테고리의 다른 글
pythonchallenge level 17 (1) | 2010.10.27 |
---|---|
pythonchallenge level16 (0) | 2009.12.04 |
pythonchallenge level 15 (0) | 2009.12.03 |
pythonchallenge level13 (0) | 2009.10.22 |
pythonchallenge level12 (0) | 2009.10.22 |
pythonchallenge level11 (0) | 2009.10.22 |
pythonchallenge level10 (0) | 2009.10.20 |
pythonchallenge level9 (0) | 2009.10.16 |
pythonchallenge level8 (0) | 2009.10.16 |
pythonchallenge level7 (0) | 2009.10.16 |