Python 갖고 놀아보기 #1 로또 프로그램

컴퓨터 관련 학과는 아니고 전자과에 진학을 하고 있던 친구가 파이썬 과제를 하고 있었는데 코딩하는데 어려움을 겪고 있었다. 나도 마침 파이썬을 해보고 싶다는 생각이 있었고 다양한 컴퓨터 언어를 경험해보면 안좋을 것 없다는 생각이 있었기 때문에 경험 해볼 겸 친구 과제를 도와주었다.


로또 번호 추출 및 당첨 프로그램

이 과제에는 여러가지 조건이 존재 했다. 그 중에서 꼭 지켜야하는 조건들 몇개가 있었다면…

  1. 구매하는 복권의 갯수를 input을 이용해 받아야 함.
  2. 당첨 번호는 그때 그때 바뀌도록 해야 함.
  3. 구매일자를 포함할 시 추가 점수 반영. </u>

이 3가지 조건을 생각해보면서 당연히 random함수를 사용 해야겠다고 생각을 했고,
구매일자 또한 datetime 을 사용하면 될 것 같아서 바로 적용 해보았다.
쉬웠던 내용이어서 그런지 별 어려움 없이 개발을 잘 마쳤다.


lotto.py

import random
import datetime

num_array = [[0 for col in range(6)] for row in range(100)]

alist=[]
win_array=[]
suc_count = 0
checklist=[]

def make_num():
    for i in range(6):
        a = random.randint(1,45)       
        while a in alist :             
            a = random.randint(1,45)
        alist.append(a)

def make_win_num():
    for i in range(7):
        b = random.randint(1,45)       
        while b in win_array:             
            b = random.randint(1,45)
        win_array.append(b) 
        
        
count = int(input("몇장살지: "))
print()

for i in range(count):
    for j in range(6):
        alist=[]
        make_num()
        num_array[i][j] = alist[j]
    print(num_array[i])
    
date = datetime.datetime.now()
print("구매일자")
print (date.year,'년 ', date.month,'월 ', date.day,' 일', date.hour,'시 ',date.minute,'분 ',date.second,'초')
print()

make_win_num()

print("당첨숫자")
print(f'{win_array}')
print()

for i in range(count):
    suc_count = 0
    for j in range(0, 6):
        if 	num_array[i][j] == win_array[0] or num_array[i][j] == win_array[1] or num_array[i][j] == win_array[2] or num_array[i][j] == win_array[3] or num_array[i][j] == win_array[4] or num_array[i][j] == win_array[5] or num_array[i][j] == win_array[6]:
            	suc_count = suc_count + 1
    			checklist.append(suc_count)
                if suc_count == 6:
                    print("1등")
                elif suc_count == 5:
                    print("2등")
                elif suc_count == 4:
                    print("3등")
                elif suc_count == 3:
                    print("4등")
                elif suc_count == 2:
                    print("5등")
                elif suc_count == 1:
                    print("6등")
                elif suc_count == 0:
                    print("꼴등")