본문 바로가기
코딩공부/Python

[python]로또 번호 생성 코드 작성하기 / TIL_220908

by Dong_Devlog 2022. 9. 8.
로또 번호 생성 코드 작성

 

로또 번호 생성 완성 코드

import random

lotto = set()  # lotto 변수를 set 자료형으로 선언


def get_lotto_number(count):
    result = []

    if count < 1:
        print("1 이상의 값을 입력해주세요")

    for _ in range(count):  # count만큼 반복해서 실행

        while len(lotto) < 8:  # lotto의 요소 갯수가 8 이하일 경우 계속해서 반복
            lotto.add(random.randint(1, 45))  # lotto에 1~45 사이의 랜덤 값을 입력

        result.append(lotto)

    return result


lotto_numbers = get_lotto_number(1)
print(lotto_numbers)

 

랜덤함수를 사용하기 위해서는 import random을 통해 함수들을 모아놓은 모듈을 import 한다.

import random

 

추후 랜덤 함수를 통해 출력하는 값들 중에 중복 된 값을 제거하기 위해 집합(set) 자료형을 생성

lotto = set()

 

count는 8자리 숫자의 로또번호를 몇 개 출력할 것 인지 입력

음수나 0을 입력할 시 "1 이상의 값을 입력해주세요"로 출력

def get_lotto_number(count):
    result = []

    if count < 1:
        print("1 이상의 값을 입력해주세요")

 

count 숫자 만큼 while문을 돌리게 한 후 while문을 통해 집합(set) 자료형에 랜덤 된 1~45의 숫자 8개를 넣어준다.

집합(set) 이기 때문에 중복된 숫자는 삭제 되고 숫자 8개가 들어가면 result 리스트에 lotto set을 넣어준다.

그리고 result 리스트를 return 해주면 get_lotto_number 함수를 사용할 때마다 result 값 리턴

    for _ in range(count):

        while len(lotto) < 8:
            lotto.add(random.randint(1, 45))

        result.append(lotto)

    return result

 

get_lotto_number를 이용하여 함수를 불러주면 count에 입력해준 숫자 만큼 8개의 로또번호 result 값 출력

lotto_numbers = get_lotto_number(count)
print(lotto_numbers)

댓글