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