Пример #1
0
def lotto_start():
    mylist1 = set()
    mylist2 = set()
    mylist3 = set()
    mylist4 = set()
    mylist5 = set()
    while len(mylist1) < 6:
        mylist1.add(rnd.randint(1, 45))
        mylist2.add(rnd.randint(1, 45))
        mylist3.add(rnd.randint(1, 45))
        mylist4.add(rnd.randint(1, 45))
        mylist5.add(rnd.randint(1, 45))

    sorted_mylist = [bubble_sort(list(mylist1)), bubble_sort(list(mylist2)), bubble_sort(list(mylist3)), bubble_sort(list(mylist4)),
                     bubble_sort(list(mylist5))]

    print("내 로또 번호")
    for i in range(len(sorted_mylist)):
        print("{}".format(sorted_mylist[i]))
    sorted_lotto = bubble_sort(list(lotto_generator()))
    # sorted_lotto.append(rnd.randint(1,46))
    bonus = rnd.randint(1, 45)
    while sorted_lotto.count(bonus) == 1:
        bonus = rnd.randint(1, 45)
    print("로또 번호 : {}".format(sorted_lotto))  # 정렬된 결과
    print("보너스 번호 : {}".format(bonus))

    cnt = []
    # print(sorted_mylist)
    for i in range(len(sorted_mylist)):
        bon = 0
        cnt_num = 0
        for j in range(len(mylist1)-1):
            if sorted_mylist[i][j] == sorted_lotto[j]:
                cnt_num = cnt_num + 1
            if sorted_mylist[i][j] == bonus:
                bon = 1
        cnt.append(cnt_num)
        print("복권 {} : {} + {}개 일치".format(i+1, cnt_num, bon))
        if cnt_num == 6:
            print("1등입니다 축하합니다")
        elif cnt_num == 5:
            if bon == 1:
                print("2등입니다.")
            else:
                print("3등입니다.")
        elif cnt_num == 4:
            print("4등입니다.")
        elif cnt_num == 3:
            print("5등입니다.")
        else:
            print("꽝입니다.")
Пример #2
0
def binary_search_index(target):
    print("binary_search_index\nindex,value")
    setlist = set()
    # rnd.seed(2)
    while len(setlist) < 21:
        setlist.add(rnd.randint(1, 200))
    print("정렬전\n{}".format(setlist))
    left = 0
    right = len(setlist) - 1
    cnt = 0
    sorted_list = bubble_sort(list(setlist))
    print("정렬후\n{}".format(sorted_list))

    while True:
        mid = (left + right) // 2
        print(
            "left : {}  {}\t\tmid : {:2}  {}\t\tright : {}  {}\t\t target : {}"
            .format(left, sorted_list[left], mid, sorted_list[mid], right,
                    sorted_list[right], target))
        if target > sorted_list[mid]:
            left = mid + 1
            cnt = cnt + 1
        elif target < sorted_list[mid]:
            right = mid - 1
            cnt = cnt + 1
        else:
            print("검색 : {}\n위치 : {}번".format(cnt, mid))
            break

        if left >= right:
            print("{}번 검색했지만 해당하는 수는 없습니다.".format(cnt))
            break
Пример #3
0
def lotto_start(a, b, c, d, e, f):
    mylist = [a, b, c, d, e, f]
    sorted_mylist = bubble_sort(mylist)
    print("내 로또 번호 : {}".format(sorted_mylist))
    sorted_lotto = bubble_sort(list(lotto_generator()))
    # sorted_lotto.append(rnd.randint(1,46))
    bonus = rnd.randint(1, 45)
    while sorted_lotto.count(bonus) == 1:
        bonus = rnd.randint(1, 45)
    print("로또 번호 : {}".format(sorted_lotto))  # 정렬된 결과
    print("보너스 번호 : {}".format(bonus))

    cnt = 0
    bon = 0
    for i in sorted_lotto:
        for j in mylist:
            if j == i:
                cnt = cnt + 1
    for i in mylist:
        if bonus == i:
            bon = 1

    if cnt == 6:
        print("1등입니다 축하합니다")
    elif cnt == 5:
        if bon == 1:
            print("2등입니다.")
        else:
            print("3등입니다.")
    elif cnt == 4:
        print("4등입니다.")
    elif cnt == 3:
        print("5등입니다.")
    else:
        print("꽝입니다.")
    print("{} {}".format(cnt, bon))
Пример #4
0
# 로또번호생성기를 작성하고 당첨번호에 따라 순위를 구하는 프로그램
# 5000원치 로또번호를 생성하세요.

import random as rnd
from chapter04.exam02 import bubble_sort


def lotto_generator():
    lotto_num = set()
    while len(lotto_num) < 6:
        lotto_num.add(rnd.randint(1, 46))
    return lotto_num


if __name__ == "__main__":
    rnd.seed(4)

    sorted_lotto = list(lotto_generator())
    print("로또 번호 : {}".format(bubble_sort(sorted_lotto)))


Пример #5
0
# 로또번호생성기를 작성하고 당첨번호에 따라 순위를 구하는 프로그램 작성

import random as rnd
from chapter04.exam02 import bubble_sort


def lotto_generator():
    rnd.seed(1)
    lotto_num = set()
    while len(lotto_num) < 6:
        lotto_num.add(rnd.randint(1, 46))

    return lotto_num


if __name__ == "__main__":

    set_lotto = bubble_sort(list(lotto_generator()))
    print("로또 번호 : {}".format(set_lotto))
Пример #6
0
    num = []
    while len(num) < 20:
        num.append(rnd.randint(1, 100))
    return num


def binary_search(binary_num, search_num):
    left = 0
    right = len(binary_num) - 1

    while True:
        mid = (left + right) // 2

        if binary_num[mid] == search_num:
            print("{}를 찾았습니다.".format(search_num))
            break
        elif binary_num[mid] > search_num:
            right = mid - 1
        elif binary_num[mid] < search_num:
            left = mid + 1

        if (right < left):
            print("{}가 존재하지 않습니다.".format(search_num))
            break


if __name__ == "__main__":
    binary_num = bubble_sort(binary_list())
    print(binary_num)

    binary_search(binary_num, 98)