본문 바로가기
일/Python

파이썬(python) - 로또 번호 생성기 lotto (random), (date)

by 멜랑멀리 2021. 7. 7.
SMALL

flowchart

 

1. 생성수를 저장할수 있는 저장소 생성. (리스트)

2. 저장소의 멤버개수가 6인지에 대해서 확인하고 6미만이면 동작 반복.

 2-1. 랜덤한 정수 생성(1~45) 

 2-2. 생성된 수가 저장소(리스트)에 없으면 저장소 (리스트)에 저장.

 2-3. 생성된 수가 저장소(리스트)에 있는지 여부 확인

 2-4. 2번으로 돌아가서 반복 진행.

 

Random.random()

0.0~1.0사이 실수(float) 반환합니다.

random.randint(1,100)

1부터 100까 중에 정수를 리턴합니다.  마지 100까지 포함합니다.

random.randrange(0,10,3)

1부터 10미 3 배수 환합니다.

random.choice([1,2,3,4,5,6,7])

[1,2,3,4,5,6,7]중에  글자를 리턴합니다.

random.sample(range(1,46),6)

1이 46미만중 6 값을 리스트 형식으로  받습니다. , sample 함수는 중복 없이 처리해 주기 때문에  번호 생성에 적화 입니다.

List = [1,2,3,4,5,6,7,8]

Random.shuffle(List)

[1,2,3,4,5,6,7,8] 숫자들을 가지 List 섞어서 배열합니다. 별도의 데이터 반 값이 없습니다.

 

 

flowchart 순서대로, random 숫자를 list에 한개씩추가.

중복숫자는, list에 추가하지 않음.

import random
LottoNumber = []
randcnt = 0
while len(LottoNumber) < 6 :
    Value = random.randint(1,45)
    randcnt= randcnt + 1
    if Value not in LottoNumber:
        LottoNumber.append(Value)
    else :
        print("중복 번호:",Value, "횟수:", randcnt)

print(LottoNumber)
print(randcnt)

결과 : 

중복 번호: 2 횟수: 6
중복 번호: 26 횟수: 7
[45, 5, 2, 34, 26, 12]
8

 

 

 

간단히 하려면,

import random
import datetime

today=datetime.date.today()
print(today,"로또 예상번호는" ,random.sample(range(1,46),6), "입니다.")

결과 : 

2021-07-07 로또 예상번호는 [3, 22, 10, 36, 25, 15] 입니다.

 

random 참조 : https://appia.tistory.com/93?category=849954 

 

 

파이썬[Python] 013 로또(lotto) 번호 생성기 만들기와 random 모듈

거의 대부분의 직장인의 꿈은 로또 1등이거나 한방에 큰 거금이 들어오는 것일 수 있습니다. 저 또한 매주 로또를 구매 하는 편입니다. 오늘은 로또 번호를 생성하는 코드를 작성해보도록 하겠

appia.tistory.com

 

datetime 참조 : https://www.daleseo.com/python-datetime/

 

[파이썬] datetime 모듈로 날짜/시간 처리하기

Engineering Blog by Dale Seo

www.daleseo.com

 

LIST