본문 바로가기
프로그램

[파이썬] 로또 번호 자동 생성(random, sample)

by 오디세이99 2022. 8. 8.
728x90
반응형

random.sample() 함수로 1, 46(45+1)까지 6개의 숫자를 만들어 냅니다.

sort(reverse=False)를 사용해서 난수 숫자를 오름차순으로 정렬합니다.

import random

lotto_cnt = 5
for i in range(lotto_cnt):
    data = random.sample(range(1,46),6)
    data.sort(reverse=False)

    print(data)

위 코드에서는 비슷한 숫자가 많아 나오는 것 같아서 수정해 보았습니다.

위 코드에 1000개를 만들어서 다시 이 난수 집합 중 5를 임의로 골라냅니다.

아까 보다는 다양한 집합이 나오는 것 같습니다.

import random

lotto_cnt = 5
loop_cnt = 1000

data = []
for L in range(1000):
    for i in range(lotto_cnt):
        tmp = random.sample(range(1,46),6)
        tmp.sort(reverse=False)

    data.append(tmp)

idx = random.sample(range(1,len(data)), 5)
for i in range(len(idx)):
    print(data[idx[i]])

728x90
반응형

댓글