로또 구매 프로그램

2025. 2. 27. 19:47·Python/연습장
round = 0

while True:
    import random

    list_ = []
    for i in range(1, 46):
        list_.append(i)

    random.shuffle(list_)
    bonus_num = list_.pop()
    lotto = sorted(list_[:6])

    round += 1
    print("==로또 [%d]회차==" % round)

    print(input("로또를 구매하시겠습니까? enter"))

    print("당첨번호는")
    print(lotto, "입니다.", "보너스 번호는", bonus_num, "입니다.") #결과 확인하기 위해 일부러 먼저 배치


    user_choice = input("로또 번호 6개를 선택해주세요.:") #input으로 나온 값은 str
    user_choice = user_choice.split()  # 공백을 기준으로 문자열 구분하기

    user_choice[0] = int(user_choice[0])  # 리스트 안에 있는 요소를 하나하나 인트화 시켜주고
    user_choice[1] = int(user_choice[1])
    user_choice[2] = int(user_choice[2])
    user_choice[3] = int(user_choice[3])
    user_choice[4] = int(user_choice[4])
    user_choice[5] = int(user_choice[5])
    user_choice = set(user_choice)  # 인트화 시켜준 다음에 리스트화
    # 리스트 안에 들어가면 요소가 str 이라서, 인트화 했어도 리스트 들어가면 인트가 아니게됨
    print("선택하신 번호는", user_choice, "입니다.")

    auto = input("자동으로 하시겠습니까?(yes/no): ")

    if auto == "yes": #1등 될때까지 반복
        print("1등에 당첨될 때 까지 구매하겠습니다.")
        print(input("시작을 원하시면 엔터를 눌러주세요."))

        count_ = 1 #회차

        while True:
            import random

            list_ = []
            for i in range(1, 10): #결과 빨리 내려고 일부러 범위 10
                list_.append(i)

            lotto = random.sample(list_, 6)
            print(sorted(lotto))

            count_ += 1

            if lotto == user_choice:
                print("1등에 당첨 되셨습니다.")
                print("%d회 만에 당첨 되셨습니다." % count_)
                break
                #print("%d회 만에 당첨 되셨습니다." % count_)



    elif auto == "no": #등수 알려주고 끝내

        #당첨번호 갯수를 알기위해 교집합을 이용
        user_choice = set(user_choice) #리스트를 집합화 해주고
        lotto = set(lotto)

        # 등수체크
        # 1등은 6개 모두 일치
        correct = user_choice & lotto #당첨번호 갯수 = (둘의 교집합)
        print(f"일치하는 번호는", correct, "입니다.")

        if len(correct) == 6: #len의 type은 int(=정수)
            print("축하합니다. 1등입니다! 당첨금은 20억 입니다.")
        elif len(user_choice & lotto) == 5 and bonus_num in user_choice:
            print("축하합니다. 2등입니다.")
        elif len(user_choice & lotto) == 5:
            print("3등입니다. 당첨금은 150만원 입니다.")
        elif len(user_choice & lotto) == 4:
            print("4등입니다. 당첨금은 5만원 입니다.")
        elif len(user_choice & lotto) == 3:
            print("5등입니다. 당첨금은 5천원 입니다.") #딕셔너리
        else:
            print("꽝")

'Python > 연습장' 카테고리의 다른 글

내가 처음 만든 물고기 게임  (0) 2025.03.06
숫자야구  (0) 2025.03.01
로또 자동 판매기 (no sample)  (0) 2025.02.26
안끝나는 자판기  (0) 2025.02.24
내가 만든 자판기  (1) 2025.02.21
'Python/연습장' 카테고리의 다른 글
  • 내가 처음 만든 물고기 게임
  • 숫자야구
  • 로또 자동 판매기 (no sample)
  • 안끝나는 자판기
joo_coding
joo_coding
2025.02.18~
  • joo_coding
    주코딩일지
    joo_coding
  • 전체
    오늘
    어제
    • 분류 전체보기 (219)
      • 일지 (19)
      • 계획표 (7)
      • 프로젝트 (6)
      • C언어 (35)
        • 연습장 (12)
      • C++ (3)
      • C# (34)
      • Python (28)
        • 연습장 (11)
      • TCP IP (4)
      • DB (2)
      • ubuntu (1)
      • Git (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    c언어 #vscode #gcc #윈도우 #c언어윈도우 #gcc윈도우 #vscode윈도우 #c #c++
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
joo_coding
로또 구매 프로그램
상단으로

티스토리툴바