반응형

파이썬 실전/로또 번호 생성기 8

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

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

파이썬 실전) 로또 번호 생성기 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파일 아무거나 상..

파이썬 실전) 로또 번호 생성기 6. 이전회차 당첨번호와 중복되는 번호

이번 강의는 로또 번호 생성기에 이전 회차의 번호와 현재 번호의 중복되는 개수를 제한하는 기능을 추가해 보겠습니다. 1. 중복 번호 만약 로또를 구매하실 때 이전 회차의 당첨번호와 거의 일치하신다면 어떻게 하시겠습니까? 저라면 심리적으로 같은 번호는 기피하게 될 것 같습니다. 대부분의 사람들은 이전 회차와 중복되는 번호는 피하게 됩니다. 이를 이용해 여러 로또 번호 사이트에서는 이전 회차와 중복되는 번호의 개수를 제한하는 필터링 기능을 만들어 놓은 경우가 많습니다. 이번 강의에서는 이전 회차의 번호와 중복되는 번호의 개수를 제한하는 기능을 만들어 보겠습니다. 2. 코드 저번 강의에서 requests와 BeautifulSoup를 이용해 이전 회차의 당첨번호를 조회하는 코드를 만들었습니다. 2021/02/1..

파이썬 실전) 로또 번호 생성기 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 우..

파이썬 실전) 로또 번호 생성기 1. 기본 메커니즘

이전에 로또 번호 추천 사이트는 허구라고 말씀드린 적이 있습니다. 그런데도 아직 유입 검색어에 로또 1등 예상번호나 1등 당첨되는 법이 있습니다. 그래서 로또 번호 추첨 사이트와 동일한 메커니즘으로 파이썬 프로그램을 만들려고 합니다. 2021/01/03 - [일상] - 로또 예상번호? 더 이상 속지 말자! 로또 예상번호? 더이상 속지말자! 여러분들은 인터넷을 보시다 보면 인기 검색어에 로또 예상번호 같은 게 올라오신 걸 보신 적이 있으실 겁니다. 아니면 광고로도 로또 1등 예상번호라고 나오는 것을 볼 수 있습니다. 그런데 이 marisara.tistory.com 1. 이론 로또는 1부터 45까지의 번호 중 중복 없이 6개의 번호를 선정합니다. 그리고 매주 토요일 추첨을 통해 1등 번호 6자리와 2등 번호..

반응형