'2011/06/23'에 해당되는 글 2건

  1. 2011.06.23 [Python challenge Level9] - good (ImageDraw)
  2. 2011.06.23 [Python challenge Level8] - integrity (bz2)
2011. 6. 23. 19:39

[ Problem ] - http://www.pythonchallenge.com/pc/return/good.html

♧ 그림을 보면 검은 점들이 많이 보인다.

♧ 소스를 보면 title은 connect the dots로 알 수 있듯이 점들을 연결시키는 문제이다.

♧ 주석에 first와 second은 좌표에 점들을 의미하는데

이것은 PIL의 ImageDraw Moduledraw.line(xy, options)를 이용하여 각 좌표의 점들을 연결 시킨다.

   

♧ 그럼 좌표를 연결시켜 그려 보자. 처리 순서는 다음과 같다.

from PIL import Image, ImageDraw
# encoding=utf8

# ① 소스에 있는 first와 second를 붙여 넣기 한다.
first = [146,399,163, ...[생략]...]
second = [156,141,165, ...[생략]...]

# ② 이미지 생성.
img = Image.new('RGB', (640,480))
draw = ImageDraw.Draw(img)

# ③ 첫번째 점들을 연결시키면 황소에 몸통 부분이 녹색 으로 보인다.
draw.line(first, 'green', 2)
# ④ 두번째 점들을 연결시키면 황소에 얼굴 부분이 붉은색 으로 보인다.
draw.line(second, 'red', 2)
# ⑤ 그림을 보여준다.
img.show()

(※ 해당 좌표는 길어서 생략, 소스에 있는 좌표를 붙여 넣기 하자.)

   

♧ 출력 화면

(※ 해당 그림에 뿔이 존재 하기에 젖소(cow)가 아니라 황소 (bull)를 나타낸다.)

   

[ Solution ] - http://www.pythonchallenge.com/pcc/return/bull.html

(※ 문제에 대한 다양한 해결법은 링크 참조.)

   

Posted by devanix
2011. 6. 23. 13:45

[ Problem ] - http://www.pythonchallenge.com/pc/def/integrity.html

벌(bee) 그림이 보인다. 마치 bz2 모듈을 연상 시킨다 (bee? busy. busy? busy too ? bz2?)
먼저 소스 코드를 보자.

① 링크가 걸려 있다. ("coords"에 보이는 숫자들은 벌(bee) 모양 따라 링크 하기 위함)

맨 밑의 주석에 un과 pw가 있다.

( ※ BZh9는 bz2의 매직넘버를 나타낸다 : http://www.amiga-stuff.com/crunchers-id.html (search for BZh9))

   

벌(bee) 그림을 클릭 하면 해당 인증 창이 뜨는 것을 볼수 있다.

(위의 주석에 있는 un/pw를 bz2 모듈을 이용해 풀어서 입력)

   

bz2 모듈을 이용해서 풀어보자 (http://docs.python.org/library/bz2.html 참조)

import bz2

un = "BZh91AY&SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02"\
"\xc0\x02\x00 \x00!\x9ah3M\x07<]\xc9\x14\xe1BA\x06\xbe\x084"
pw = "BZh91AY&SY\x94$|\x0e\x00\x00\x00\x81\x00\x03$ "\
"\x00!\x9ah3M\x13<]\xc9\x14\xe1BBP\x91\xf08"

print bz2.BZ2Decompressor().decompress(un)
print bz2.BZ2Decompressor().decompress(pw)

(출력해 보면 username과 password 를 볼수 있다.)

huge

file

  

[ Solution ] - http://www.pythonchallenge.com/pcc/return/good.html:huge:file

(※ 문제에 대한 다양한 해결법은 링크 참조.)

Posted by devanix