반응형

파이썬 52

파이썬 requests 4. JSON

파이썬 requests 4번째 강의는 Json입니다. 0. 기초 설명 JSON은 JavaScript Object Notation의 약자로 속성과 값의 쌍 또는 키와 값의 쌍으로 이루어진 데이터 오브젝트입니다. JSON은 현재 인터넷상에서 데이터를 주고받을 때 자료를 표현하는 표준 포맷이며 대부분의 언어에서 사용 중입니다. 그리고 이러한 방식으로 데이터를 주고받는 것으로 RESTful API가 있습니다. RESTful API는 AWS에서는 다음과 같이 설명하고 있습니다. 예를들어 어떤 회사에서 오늘의 식단을 알려주는 서버가 있다고 가정하겠습니다. 만약 이 회사가 RESTful API를 사용하지 않는다면 식단을 알기 위해 통신하는 일련의 과정을 모두 개발해야 하며 이를 전달받는 클라이언트도 만들어야 할 것입..

파이썬 실전) 자막 이름 변경 프로그램(Subtitles Changer) 2. GUI화

이번 글에서는 이전에 만들었던 메커니즘을 이용하여 프로그램을 GUI로 만드는 방법에 대해서 써보겠습니다. 0. 이전 문제의 해답 이전 글에서 여러 파일을 한번에 바꾸는 방법에 대해서 상황을 부여했습니다. 여러 파일을 동시에 바꾸기 위해서는 for문이나 while문등의 반복문으로 파일 이름을 바꾸는 코드를 반복해서 실행하면 되겠습니다. 이때 movies와 subtitles의 인덱스 번호를 반복문의 특성에 맞게 바꿔주셔야 합니다. (1) for문 for i in range(len(movies)): os.rename(directory + "/" + subtitles[i], directory + "/" + movies[i][:-4] + subtitles[i][-4:]) (2) while문 count = 0 wh..

파이썬 openGL 1. 기본 그리기(점, 선, 삼각형, 사각형, 다각형)

파이썬 openGL 1번째 강의는 openGL을 통해서 삼각형과 사각형을 그리는 방법입니다. 0. openGL의 방식 openGL은 저수준 API로, 무언가를 그리기 위해서는 모든 것을 본인이 직접 지정해 주어야 합니다. 예를 들어 고수준 API는 도형을 만들기 위해 한 줄의 코드로 만들 수 있다면, 저수준 API인 openGL은 도형을 만들기 위해 기본 색깔을 선언하고, 각 꼭짓점의 위치를 선언하고, 화면에 띄우겠다는 코드를 넣어야 합니다. 그렇기에 이번 강의에서는 openGL의 모든 코드를 설명해 드리며, 다음 강의부터 중복되는 코드는 생략하도록 하겠습니다. 1. openGL의 기본 main함수 파이썬에서 openGL을 사용하기 위해서는 모듈을 import 해줄 필요가 있으며, 필요한 코드는 다음과 ..

파이썬 실전) 로또 번호 생성기 完. 테스트

저희는 7개의 강의를 통해 로또 번호 생성기 프로그램을 만들었습니다. 마무리로 해당 프로그램이 진짜로 가능성이 있는지 재미 삼아 테스트해 보았습니다. 1. 번호 생성 시도 횟수가 많으면 당첨될 확률이 많아지는것은 당연한 것이기 때문에, 시도 횟수는 평소에 구매하는 10개로 정했습니다. 조건은 고정수 없음, 연속수 허용, 이전 회차와 중복은 2개까지 허용입니다. 위 사진은 954회 당첨번호가 나오기 전에 만들어진 사진입니다. 이제 만들어진 번호를 저장하여 로또를 구매하였다고 가정하겠습니다. 이제 이렇게 만들어진 번호를 다음 회차에 확인해 보았습니다. 2. 번호 확인 로또 번호 발표 이후, 번호를 확인해 보았습니다. 번호를 확인한 결과, 무려 로또 4등에 당첨되었습니다. 실제로 구매했다면 10회의 가격인 1..

파이썬 실전) 브루트 포스 프로그램 0. 브루트 포스의 뜻

이번시간부터는 파이썬에서 브루트 포스 알고리즘을 이용하는 방법에 대해서 글을 써보려고 합니다.1. 브루트 포스? 과거 2G폰을 사용했던 사용자라면 위와 같은 화면이 기억나실겁니다. 그때 비밀번호는 4자리의 암호였으며, 친구 휴대폰의 비밀번호를 풀기 위해서 0000부터 9999까지의 경우의 수를 한번씩 입력해서 비밀번호를 풀려고 했던 기억이 있습니다. 또는 친구의 버튼식이나 다이얼식 자물쇠를 사용하는 사물함을 열기 위해 가능한 경우의 수를 하나씩 전부 대입해서 자물쇠를 풀었던 기억이 있습니다. 이처럼 그 어떤 비밀번호라도 모든 경우의 수를 전부 대입하게 되면 반드시 비밀번호는 풀립니다. 이러한 방식을 브루트 포스 공격(Brute - 난폭한, Force - 힘 / 난폭하게 힘으로 때려맞추는 공격기법)이라고 ..

파이썬 실전) 로또 번호 생성기 7. 생성 번호 저장

이번 강의는 로또 번호 생성기의 마지막인 만들어진 번호를 저장하는 기능을 만들어 보겠습니다. 결과 프로그램은 exe파일로 만들어서 첨부하도록 하겠습니다. drive.google.com/file/d/1uJhHX3ofbniPuQEOZhjwe6ibwc7aNm7G/view?usp=sharing lotto_number_generator.exe drive.google.com 1. 코드 이번 강의는 딱히 설명할 부분이 많지 않기 때문에 바로 코드부터 보도록 하겠습니다. 우선 저장을 담당할 버튼을 만들어 줍니다. self.save_button = wx.Button(panel, id=12, label="저장", pos=(5, 310)) 그 후 저장의 기능을 만들어 줍니다. 저장은 txt 파일이나 Exel파일 아무거나 상..

파이썬 실전) 로또 번호 생성기 5. 이전 회차 당첨번호

이번 강의는 requests와 BeautifulSoup를 이용하여 이전 회차 당첨 번호를 조회하는 코드를 만들어 보겠습니다. 1. 이전 회차 당첨 번호 보통 로또 당첨번호를 조회하실 때에는 네이버에서 확인하실 겁니다. 한국인이 가장 많이 사용하는 검색 엔진이기도 하고, 로또 번호라고 입력만 하면 바로 당첨번호가 조회가 되니 일반적으로는 가장 편하게 당첨번호를 조회하는 방법일 것입니다. 파이썬에서 네이버의 당첨번호를 조회하기 위해서는 로또 번호를 검색한 결과 화면에서 위의 번호를 추출해야 합니다. 하지만 네이버는 일반적인 파이썬 requests의 접근을 정상적으로 인식하지 못하는 경우가 많아서 사용하기 힘들 때가 있습니다. 동행 복권 홈페이지에서는 메인 화면에 당첨번호를 공지하고 있습니다. 동행 복권 홈페..

파이썬 실전) 로또 번호 생성기 4. 연속 번호 제외

이번 강의는 연속 번호 제외 기능을 추가해보도록 하겠습니다. 1. 연속 번호 여러 로또 사이트들에서는 연속 번호 제외 기능이 거의 100% 포함됩니다. 이것은 사람의 심리상 '11번이 나왔으니 다음에는 12번이 연속해서 나오지 않겠지'라는 막연한 기대에서 비롯됩니다. 하지만 과학적으로 모든 번호가 나올 확률은 동일하므로 11번이 나오고 12번이 나올 확률과 연속되지 않는 번호가 나올 확률이 같기 때문에 이 역시 과학적인 방법은 아닙니다. 또한 결과적으로, 연속번호는 생각보다 많이 나오기 때문에 굳이 과학적으로 파고들지 않더라도 연속 번호를 제외하는 것은 의미가 없다는걸 알 수 있습니다. 2. 코드 로또 번호 사이트의 연속수 제거 기능은 2연속 제거, 3 연속 제거 등 연속의 개수를 지정해줄 수 있지만 이..

파이썬 실전) 로또 번호 생성기 3. 고정수

이번 강의는 여러 로또 번호 사이트에 있는 기능 중 하나인 고정수 설정 기능을 만들어 보려고 합니다. 1. 고정수 로또 번호에서 고정수 또는 희망수는 로또 번호를 생성할 때, 본인이 입력한 번호를 반드시 포함시키는 방법을 말합니다. 이렇게 하면 랜덤으로 생성되는 번호의 개수는 확실히 줄어들지만, 당첨 확률이 높아지는 것은 아닙니다. 로또 번호는 중복이 되지 않으므로 (45 * 44 * 43 * 42 * 41 * 40)만큼의 경우의 수가 존재합니다. 즉, 로또 번호가 만들어 질 수 있는 가짓수는 약 60억 개(5,864,443,200)입니다. 이 중에서 고정수를 하나만 선택하는 경우에는 나머지 5자리만 만들면 되므로 경우의 수가 약 1.3억 개(130,320,960) 개로 줄어듭니다. 여기서 고정수가 하나..

파이썬 실전) 로또 번호 생성기 2. GUI화

이번 강의는 이전에 만든 번호 생성 프로그램을 GUI로 만들어서 사용하기 편리하게 만드는 방법입니다. 1. 코드 파이썬 GUI를 만들기 위해서 wxPython을 사용할 예정입니다. 혹시 wxPython을 모르시는 분들은 wxPython에 대한 강의를 먼저 보고 오시는 걸 추천드립니다. 2021/01/03 - [파이썬 강의/wx] - 파이썬 GUI(wxPython) 1. 기초(Frame과 실행) 파이썬 GUI(wxPython) 1. 기초(Frame과 실행) 이번 강의는 wxPython의 기초인 프레임과 실행방법을 알려드리려고 합니다. 1. frame frame은 프로그램의 기본적인 틀이라고 할 수 있습니다. 프레임을 만들어준 후, 그 위에 여러 가지 기능을 넣는 형 marisara.tistory.com 우..

반응형