본문 바로가기
재미로 하는 코딩

로또가 당첨되려면 몇 번 뽑아야할까?

by 헬푸밍 2023. 1. 9.

로또를 사보셨나요...?

로또를 자신이 다 살 수 있다고 하면... 얼마나 뽑아야 할까요...?

 

일단 로또 번호를 생성하는 함수는 이렇습니다...

import random

def display_lotto():
    lotto = []
    while True:
        random_number = random.randint(1, 45)
        lotto.append(random_number)
        lotto = list(set(lotto))
        if len(lotto) >= 6:
            break
    lotto.sort()
    print(lotto)
display_lotto()

이렇게 함수를 실행해보면...

로또 번호가 생성됩니다!

 

그러면...

1. 먼저 당첨번호(winning_number)을 생성시키고

2. 클래스 안에 로또를 뽑으면 당첨 여부가 출력되는 메서드를 만들고

3. 클래스 안에 로또가 뽑힐때까지 뽑는 메서드도 만들고

이런 식으로 클래스를 만들어 봅시다!

import random

winning_number = []
while True:
    random_number = random.randint(1, 45)
    winning_number.append(random_number)
    winning_number = list(set(winning_number))
    if len(winning_number) >= 6:
        break
    winning_number.sort()
print(winning_number)

class Lotto:
    def draw(self):
        lotto = []
        while True:
            random_number = random.randint(1, 45)
            lotto.append(random_number)
            lotto = list(set(lotto))
            if len(lotto) >= 6:
                break
        lotto.sort()
        print(lotto)
        if lotto == winning_number:
            print('당첨되었습니다!')
        else:
            print('아쉽군요... 다음에 도전하세요!')    
    def count_lotto_winning(self):
        count = 0
        
        while True:
            lotto_drawed = []
            while True:
                random_number = random.randint(1, 45)
                lotto_drawed.append(random_number)
                lotto_drawed = list(set(lotto_drawed))
                if len(lotto_drawed) >= 6:
                    break
                lotto_drawed.sort()
            if lotto_drawed == winning_number:
                break
            count += 1
        print(count)

무지성으로 위와 같이 코드를 짜봤스무니다...

일단 코드를 실행하면...

이렇게 당첨번호가 나오네여...

그다음... 객체를 생성합니다...

lotto = Lotto()

객체 생성후 메서드 실행을 해봅시다!

lotto.draw()

한번 뽑고...

꽝...

 

lotto.draw()

두번 뽑고...

꽝...

 

이제 메서드로 당첨번호를 뽑을때까지 돌려봅시다...

lotto.count_lotto_winning()

몇번 뽑아서 당첨될까요...?

삼백이십만번 정도 뽑아야하군요.... ㅎㄷㄷ

 

많이도 뽑아야 하네여...

 

모두 로또... 화이팅!

댓글