python

[Python] 로또 경우의 수 프로그램

dackyy 2022. 7. 26. 16:58
반응형
import random

lucky = []

def lotto():
    while len(lucky) < 6:
        num = random.randint(1, 46)
        if num not in lucky:
            lucky.append(num)
    while True:
        num = random.randint(1, 46)
        if num not in lucky:
            bonus = num
            break
    print(lucky, "보너스번호 : ", bonus)
    return bonus


def findmy(my):
    cnt = 7
    for i in range(len(my)-1):
        if my[i] in lucky:
            cnt -= 1
    print(cnt)
    print(my[-1], bonus)
    if cnt == 1:
        print("1등 당첨!")
    elif cnt == 2 and my[-1] != bonus:
        print("왜?")
        cnt += 1
    if cnt < 6:
        print(cnt, "등 당첨!")
    else:
        print("꽝!")

    print("몇등 경우의 수를 보시겠습니까? :")
    cases(int(input()))


def cases(menu):
    if menu == 1:
        print(lucky)

    elif menu == 2:
        for i in range(0, len(lucky)):
            for j in range(len(lucky)):
                if i == j:
                    print(bonus, end=" ")
                else:
                    print(lucky[j], end=" ")
            print()

    elif menu == 3:
        for i in range(0, len(lucky)):
            for j in range(len(lucky)):
                if i == j:
                    print("X", end=" ")
                else:
                    print(lucky[j], end=" ")
            print()

    elif menu == 4:
        for i in range(0, len(lucky)):
            for j in range(i+1,len(lucky)):
                for k in range(len(lucky)):
                    if k == i:
                        print("X", end=" ")
                    elif k == j:
                        print("X", end=" ")
                    else:
                        print(lucky[k], end=" ")
                print()

    elif menu == 5:
        for i in range(0, len(lucky)):
            for j in range(i+1,len(lucky)):
                for k in range(j+1,len(lucky)):
                    for m in range(len(lucky)):
                        if m == i:
                            print("X", end=" ")
                        elif m ==j:
                            print("X", end=" ")
                        elif m == k:
                            print("X", end=" ")
                        else:
                            print(lucky[i], end=" ")
                    print()

bonus = lotto()
mylucky = list(map(int, input("로또 번호를 입력해주세요 : ").split(' ')))

findmy(mylucky)
반응형