본문 바로가기

Python 파이썬

난수(random), 로또번호, 랜덤모듈

728x90

난수에 대해 알아보자!

 

난수는 여러가지 수에서 임의의 수를 뽑는, 규칙적이지 않는 수. 예)  로또 번호!

 

난수는 파이선의 내장모듈중 random 모듈을 불러와 사용한다.

from random import *  ☞ 라인 1번에 작성하면 불러오기 성공.

 

랜덤모듈의 사용법을 알아보자.

from random import *

i = randint(1, 100)     # 1부터 100사이의 임의의 정수
print(i)

f = random()            # 0부터 1사이의 임의의 float
print(f)

f = uniform(1.0, 36.5)  # 1부터 36.5사이의 임의의 float
print(f)

i = randrange(0, 100, 2)# 1부터 100사이의 임의의 짝수
print(i)

i = randrange(10)       # 0부터 9 사이의 임의의 정수
print(i)

 

랜덤한 수 라고하면 역시 로또 번호 아니겠는가...!

랜덤한 수를 만드는 법을 배웠으니 로또번ㅎ를 뽑아보자!

 

from random import * #난수를 사용하기위해 random을 불러온다.
       
lottonum = list(range(6))
for i in range(len(lottonum)):
    lottonum[i] = randint(1,45)
print("로또번호 : ", end = "")
print(lottonum)    

출력 결과 중 ↓
로또번호 : [25, 33, 38, 23, 30, 11]

중복!
로또번호 : [33, 21, 25, 32, 42, 25]

 

간단하게 만들어 보았다. 리스트의 길이만큼 반복을 하니 6번 반복을 하며 랜덤한 수를 하나씩 리스트에 추가시키고 있다.

코드를 실행 하다보니 중복된 수가 나왔다..!

 

중복을 처리해 보자.

여러가지 방법이 있지만 빌트인함수중에 .sample 함수를 사용해 보겠다.

그리고 로또는 1000원씩 5개임이 국룰 아닌가!

5게임을 출력하도록 기능을 추가했다. 그리고 보기쉽게 오름차 순으로 출력 했다.

 

import random # .sample를 사용하기위해 random을 불러온다.

for i in range(5):                                                 # 5번 반복
    lotto_num = random.sample(range(1,46),6)  # random 의 sample 함수 사용
                                                                           # 1~45 사이의 중복되지않는숫자 6개  
    lotto_num.sort()  # 오름차순으로 정렬
    print(lotto_num # 5개의 로또번호 출력
       
출력결과↓
[4, 8, 16, 29, 35, 42]
[4, 5, 10, 20, 24, 29]
[2, 19, 20, 22, 24, 33]
[9, 13, 18, 24, 32, 45]
[8, 16, 29, 30, 38, 40]

 

강동믓재이는,, 결과에 책임을 지지 않습니다..(물론 나도 꽝)

728x90

'Python 파이썬' 카테고리의 다른 글

셋(set)  (1) 2023.10.20
튜플(Tuple)과 딕셔너리(Dictionary)  (1) 2023.10.20
리스트(list)_2, 리스트빌트인 함수  (0) 2023.10.16
리스트(list)  (0) 2023.10.16
람다(lamda)함수  (0) 2023.10.16