본문으로 바로가기
반응형

로또번호 생성기

간단하게 로또번호 랜덤 생성기를 만들어 봅니다.
총 다섯개의 번호를 랜덤으로 추출합니다.

import random

lottoList = []
while (len(lottoList) < 5):
    num = random.sample(range(1,46), 6)
    summation = sum(num)
    if summation >= 100 and summation <= 170:
        sortednum = num.sort()
        lottoList.append(sortednum)        
        print(num, " summation:", summation)
  • random.sample
    • 랜덤으로 sample을 뽑습니다. 1~45까지의 숫자에서 겹치지 않도록 6개를 뽑기위해 사용합니다.
  • sum
    • 내장함수로 list 원소의 합계를 구합니다.
  • list 함수들
    • sort(): list 내부의 함수를 sorting 합니다.
    • append(): list의 뒤에 하나의 원소를 추가합니다.
지금까지의 로또번호의 합은 정규분포를 이룬다고 합니다.
따라서 모든 원소의 합이 100~170사이인것만 유효한 패턴으로 간주하고 선택해 줍니다.

[9, 12, 22, 31, 39, 43]  summation: 156
[6, 11, 12, 14, 25, 32]  summation: 100
[16, 18, 20, 25, 33, 36]  summation: 148
[17, 18, 23, 30, 34, 41]  summation: 163
[11, 16, 19, 33, 35, 36]  summation: 150

반응형