정수 n을 파라미터로 받고 무작위로 1과 45 사이의 서로 다른번호 n개 뽑기, 리스트로 반환
for ~ in ~ range 함수를 이용해 n개 요소가 있는 리스트 만들기
from random import randint
def generate_numbers(n):
rand_list = []
for number in range(n):
rand_list.append(randint(1,45)) # n번 반복할 동안 리스트에 무작위 값 추가하기
return rand_list
당첨 번호 뽑기 : draw_winning_numbers
일반 당첨번호 6개와 보너스 번호 1개가 포함된 리스트 반환.
일반 당첨번호는 정렬되어 있고, 보너스 번호는 마지막에 추가.
def draw_winning_numbers():
win_list = generate_numbers(7) # 7개의 무작위 수
bonus_list = win_list[6] # 마지막 번호를 보너스 번호로
del win_list[6]
win_list.sort() # 보너스 번호 지우고 정렬하기
win_list.append(bonus_list) # 보너스 번호 추가하기
return win_list
겹치는 번호 개수 : count_matching_numbers
리스트 두개를 파라미터로 받고, 요소가 몇개 겹치는지 리턴하기
def count_matching_numbers(list_1, list_2):
count = 0
for i in range(len(list_1)): # list_1의 요소를 하나씩 보기
if list_1[i] in list_2: # 만약 해당 요소가 list_2에 있다면 count 변수에 1 더하기
count +=1
return count
당첨금 확인 : check
다음 규칙에 따라 당첨금 결정하기일반 당첨번호 5개와 보너스 번호 1개 일치 : 5천만원4개 일치 : 5만원
from random import randint
def generate_numbers(n):
rand_list = []
for number in range(n):
rand_list.append(randint(1, 45)) # n번 반복할 동안 리스트에 무작위 값 추가하기
return rand_list
def draw_winning_numbers():
win_list = generate_numbers(7) # 7개의 무작위 수
bonus_list = win_list[6] # 마지막 번호를 보너스 번호로
del win_list[6]
win_list.sort() # 보너스 번호 지우고 정렬하기
win_list.append(bonus_list) # 보너스 번호 추가하기
return win_list
def count_matching_numbers(list_1, list_2):
count = 0
for i in range(len(list_1)): # list_1의 요소를 하나씩 보기
if list_1[i] in list_2: # 만약 해당 요소가 list_2에 있다면 count 변수에 1 더하기
count +=1
return count
def check(numbers, winning_numbers):
count = count_matching_numbers(numbers, winning_numbers)
if count == 6:
return 1000000000
elif (count == 5) and (winning_numbers[6] in numbers):
return 50000000
elif count == 5:
return 1000000
elif count == 4:
return 50000
elif count == 3:
return 5000
else:
return 0