Python/Python Challenge

[Python Challenge 7] 그림분석하기

Python Challenge 7의 url은 다음과 같다.

Python challenge 7 : http://www.pythonchallenge.com/pc/def/oxygen.html

 

smarty

 

www.pythonchallenge.com


구성

사진 하나 있다. 가운데 무슨 바코드 같이 White~Black의 그림이 있는 게 특징인 거 같다.


해결 아이디어

White~Black의 색깔은 특징적으로 (R, G, B)값이 모두 같은 (N, N, N)을 가지고 있다는 특징이 있다.

아마 일렬로 있는 저 긴 사각형의 정사각형으로 나뉜 N들의 ASCII변환값에 힌트가 있지 않을까? 우선 해당 아이디어를 코딩해보았다.

### 7.py

from PIL import Image
import numpy

if __name__=="__main__" :

  with Image.open("oxygen.png","r") as img :
    pix = numpy.array(img)
    y = img.height//2
    ans = ""
    
    ### 단위사격각형 가로 크기가 7인건 그림판으로 쟀다
    for x in range(0,img.width,7) :
      ans += chr(pix[y][x][1])

    print(ans)

출력결과는 다음과 같다.

smart guy, you made it. the next level is [105, 110, 116, 101, 103, 114, 105, 116, 121]n\S

 

잘 찾은거 같으니 나온 배열을 다시 ASCII화 해보자

### 7_1.py

if __name__=="__main__" :
    base = [105, 110, 116, 101, 103, 114, 105, 116, 121]
    ans = ''.join([chr(x) for x in base])
    print(ans)

출력은 다음과 같다.

integrity

찾았다.

Answer Url : http://www.pythonchallenge.com/pc/def/integrity.html