컴퓨터 관련 학과는 아니고 전자과에 진학을 하고 있던 친구가 파이썬 과제를 하고 있었는데 코딩하는데 어려움을 겪고 있었다. 나도 마침 파이썬을 해보고 싶다는 생각이 있었고 다양한 컴퓨터 언어를 경험해보면 안좋을 것 없다는 생각이 있었기 때문에 경험 해볼 겸 친구 과제를 도와주었다.
로또 번호 추출 및 당첨 프로그램
이 과제에는 여러가지 조건이 존재 했다. 그 중에서 꼭 지켜야하는 조건들 몇개가 있었다면…
- 구매하는 복권의 갯수를 input을 이용해 받아야 함.
- 당첨 번호는 그때 그때 바뀌도록 해야 함.
- 구매일자를 포함할 시 추가 점수 반영. </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("꼴등")