Python

    [Python] - 모듈탐구 calendar - 야 오늘 며칠이냐?

    파이선에서 날짜에 대한 연산을 도와주는 calendar라는 모듈이다. 현실세계의 날짜 연산에서 사용될 수 있는 계산 함수들을 제공한다. 하나하나 알아보자 Calendar 객체 모든 날짜 연산은 캘린더 객체에서 이루어 진다. 객체는 다음과 같이 생성한다. >>> my_cal = calendar.Calendar() ### Calendar(firstweekday=0)로 인자지정이 가능하다. firstweekday는 언제가 그 주의 시작요일인지 정하는 것이다) Calendar객체가 제공하는 연산은 다음과 같다. iterweekdays() : 0~6까지의 요일 인덱스를 담고 있는 iterator를 반환한다. firstweekday가 지정되어있으면 시작 순서가 바뀐다. itermonthdays(year,month)..

    [Python Challenge 14] 빙글빙글

    Python Challenge 14의 Url은 다음과 같다 Python challenge 14 : http://www.pythonchallenge.com/pc/return/italy.html 구성 페이지에는 사진이 2개 있다. 위에 보이는 나선빵은 italy라는 이름을 가지고 있고, 아래 바코드 같은 사진은 wire.png라는 이름을 가지고 있다. 별다른 상호작용을 보이지 않으니 주석을 보자 가운데 주석으로 100*100 = (100+99+99+98) 이라는 글이 쓰여있다. 해결 아이디어 가운데 식으로 부터 다음을 생각할 수 있다. 즉 빙글빙글 돌면서 그림을 채우는 것이다. 채울 대상은 wire.png이다. 다운로드하여보면 10000*1의 크기로 된 사진이다. ### 14.py from PIL impor..

    [Python Challenge 13] 자니??.... 그냥 전화해봤어...

    Python Challenge 13의 url은 다음과 같다. Python challenge 13 : http://www.pythonchallenge.com/pc/return/disproportional.html 구성 가운데 영어는 다음과 같은 의미이다. "나쁜 놈에게 전화할 것" 상호작용은 5번 다이얼에 href로 phonebook.php로 이동할 수 있다. 주석 소스를 확인하자 저번 꿀벌 문제처럼 area태그에 걸려있는 coords와 href로 이동을 시켜주는구나 싶다. phonebook.php의 페이지는 다음과 같다. 응? XML Error Code 105로 오류 페이지가 확인된다. 어허... 어디서부터 접근을 해야 되는 것일까 해결 아이디어 모르면 검색이다. 에러에 출력된 대로 XML faultCo..

    [Python] - 모듈탐구 bz2 - 바이트 압축 활용하기

    bzip2이라는 확장자가 있다. gzip과 비슷하게 하나의 파일만을 압축할 수 있으며, bz2라는 확장자명을 가진다. (오 모듈 이름이랑 똑같다.) 압축 과정은 다른 정보보안 이론과정에 자세하게 소개하는 것으로 하고 Python에서 bz2의 사용법을 알아보자 파일 압축/해제관련 bz2.open(filename, mode="rb"...) : 파일 혹은 데이터를 바이트 혹은 텍스트로 오픈하는 모드이다. 리턴 값은 File 객체이다. bz2.BZ2FILE(filename, mode="r") : 위에 객체 반환과 같으나, 무조건 binary로 open 한다. 증분 압축/해제관련 bz2.BZ2Compressor(compresslevel=9) : 증분 압축기 객체를 반환한다. compress(data)와 flush..

    [Python Challenge 12] 나쁜 놈은 누구인가

    Python Challenge 12의 url은 다음과 같다. Python challenge 12 : http://www.pythonchallenge.com/pc/return/evil.html 구성 위와 같은 사진이 있다. 사진의 파일명은 evil1.jpg(응? 왜 1이지? 점 심나 가서 먹을 거 같아) 웹상에서 상호작용은 특별히 없는 것 같으니 주석을 확인해 보자 title이 dealing evil이다. 돌린다는 것에 이번문제를 해결할 key가 있는 거 같다. 해결 아이디어 사진이름에 이상함을 느끼자 evil1.jpg가 있다는 것은 evil2.jpg도 있다는 것이다. 아래는 evil2.jpg를 요청한 결과이다. gfx로 다운로드하라고 한다. evil2.gfx를 요청하면 파일을 다운로드할 수 있다. gfx..

    [Python Challenge 11] 홀짝하나만 맞춰보시져

    Python Challenge 11의 url은 다음과 같다. Python challenge 11 : http://www.pythonchallenge.com/pc/return/5808.html 구성 그림 한 장이 있다. 파일명은 cave.jpg이고 hxd로 확인해보고 웹에서 클릭을 해봐도 상호작용은 없다. 페이지 소스를 보도록 하자 골 때린다. 아무것도 없다. 해결 아이디어 문제 이름이 odd, even이다. 그럼 그림의 홀수번째 픽셀과 와 짝수번째 픽셀을 나누면?? 이거 가능하겠다는 생각이 들었다. 아래는 구현 코드이다. ### 11.py from PIL import Image if __name__=="__main__" : with Image.open("cave.jpg") as img : odd_img ..