Python 로또 예상 번호 추출 하기 예제

파이썬 random을 사용해서 랜덤으로 번호를 추출할 수 있습니다.

랜덤으로 번호를 추출하기 때문에 로또 번호를 추출하는 프로그램을 간단하게 만들 수 있습니다.

로직 또한 간단하며 어렵지 않습니다.

import random

numbers = [ i + 1 for i in range(45)]

luckey_numbers = random.sample(numbers, 6)
luckey_numbers.sort()

print(luckey_numbers)

 

결과

 

6개 번호가 랜덤으로 출력되었습니다.

변수 numbers에는 1부터 45까지 숫자를 저장해놓습니다.

random 함수로 범위를 지정해 숫자를 출력하도록 할 수도 있지만 중복된 값을 체크하는 처리도 생각해야 합니다.

random.sample()은 지정된 컬렉션에서 지정한 샘플 수만큼 랜덤으로 값을 추출해 줍니다.

가장 중요한 것으로는 중복되지 않는 값을 반환한다는 것입니다.

random.sample()를사용하면 중복되는 값이 있는지 확인해야 하는 처리를 생략할 수 있기 때문에 로직이 간략해집니다.

 

사용할 때 주의 점으로는 지정된 컬렉션 보다 랜덤으로 추출할 숫자가 많은 경우에는 에러가 발생합니다.

import random

numbers = [ i + 1 for i in range(45)]

luckey_numbers = random.sample(numbers, 46)
luckey_numbers.sort()
print(luckey_numbers)

 

결과

 

에러를 발생시키기 위해 random.sample(numbers, 46)으로 작성했습니다.

변수 numbers에는 1부터 45까지 45개의 숫자가 저장되어 있습니다.

하지만 추출하고 싶은 갯수를 46개로 지정했기 때문에 에러가 발생합니다.

댓글