로또 프로그램 만들기 3탄 – 홀짝 비율 조건 추가 하는 방법

0

지난 시간에는 번호 생성시 번호합 조건을 추가하는 방법에 대해 알아보았습니다. 이번 시간에는 홀짝 비율 조건을 추가하는 방법에 대해 알아봅니다. 뽑아낸 번호가 홀수인지 짝수인지 파악하기 위해서는 뽑은 번호%2의 계산식을 사용합니다. %2의 의미는 뽑은 번호를 2로 나누고 난 후 나머지 값에 대한 결과를 리턴 받을 때 사용하는 계산방법입니다. 뽑은 번호를 2로 나눈 후 나머지 값이 0이면 짝수이고 0이 아니면 홀수가 됩니다. 다음 예제는 홀짝 비율을 3:3으로 뽑아내는 예제 코드 입니다.

import random

#뽑은 번호를 담은 리스트 선언
my_number = []

# 짝수 , 홀수 카운터용
even = 0
odd = 0
isCorrect = True


while isCorrect:
    my_number = random.sample(range(1, 46), 6)
    for item in my_number:
        # 뽑은 번호를 2로 나눈 몫의 나머지 값이 0이면 짝수가 됩니다.
        mok = item % 2
        if mok == 0:
            even = even + 1
        else:
            odd = odd + 1

    print(f'even: {even}        odd: {odd}')

    if odd == 3 and even == 3:
        break
    else:
        even = 0
        odd = 0

# 작은 숫자부터 정렬(오름차순)
my_number.sort()

# 뽑은 번호 6개 출력하기
print(f'{my_number} 홀:짝 비율 {odd}:{even}')

[실행결과]

반복문 2회만에 홀짝 비율이 3:3인 번호를 리턴 받았습니다.

C:UsersilikeAppDataLocalProgramsPythonPython39python.exe C:/python/Workspace/main.py
even: 2        odd: 4
even: 3        odd: 3
[9, 15, 18, 20, 24, 37] 홀:짝 비율 3:3

한번 더 실행해봅니다.

even: 2        odd: 4
even: 2        odd: 4
even: 5        odd: 1
even: 4        odd: 2
even: 2        odd: 4
even: 2        odd: 4
even: 4        odd: 2
even: 2        odd: 4
even: 3        odd: 3
[10, 17, 19, 24, 38, 43] 홀:짝 비율 3:3

 

이번에는 홀짝비율이 4:2인 경우에 대한 코드입니다. 위에서 사용된 코드와 동일하며 while문 안에서 사용되고 있는 if odd ==4 and even == 2:의 조건문을 원하는 비율로 변경만 해주면 얻을 수 있습니다.

import random

#뽑은 번호를 담은 리스트 선언
my_number = []

# 짝수, 홀수 카운터용
even = 0
odd = 0
isCorrect = True


while isCorrect:
    my_number = random.sample(range(1, 46), 6)
    for item in my_number:
        # 뽑은 번호를 2로 나눈 몫의 나머지 값이 0이면 짝수가 됩니다.
        mok = item % 2
        if mok == 0:
            even = even + 1
        else:
            odd = odd + 1

    print(f'even: {even}        odd: {odd}')

    if odd == 4 and even == 2:
        break
    else:
        even = 0
        odd = 0

# 작은 숫자부터 정렬(오름차순)
my_number.sort()

# 뽑은 번호 6개 출력하기
print(f'{my_number} 홀:짝 비율 {odd}:{even}')

[실행결과]

even: 3        odd: 3
even: 3        odd: 3
even: 3        odd: 3
even: 3        odd: 3
even: 3        odd: 3
even: 2        odd: 4
[4, 9, 16, 27, 37, 41] 홀:짝 비율 4:2

어때요? 어렵지 않죠?? 홀수 짝수 비율 조건을 추가하는 것의 키포인트는 홀수인지 짝수 인지 여부를 판별하는 계산식에 있습니다. 이번 시간 까지는 1개의 번호 조합만 리턴 받았습니다. 다음 시간에는 여러개의 번호 조합을 리턴 받는 방법에 대해 알아봅니다.

 

[이전 글]

파이썬 언어로 로또 번호를 뽑아내는 프로그램 만들기 2탄 – 번호 생성시 번호합 조건을 추가하는 방법

파이썬 언어로 로또 번호를 뽑아내는 프로그램 만들기

 

Leave a Reply