파이썬에서 숫자가 홀수인지 짝수인지 판별하는 가장 일반적이고 간단한 방법은 나머지 연산자(%), 즉 모듈로(modulo) 연산자를 사용하는 것입니다. 이 연산자는 나눗셈을 수행한 후 그 나머지를 반환하며, 어떤 수를 2로 나눈 나머지가 0이면 짝수, 0이 아니면 홀수라는 규칙을 이용합니다.
나머지 연산자(%)로 홀짝 판별하기
다음 예제는 사용자로부터 숫자를 입력받아 2로 나눈 나머지를 검사한 뒤, 그 결과에 따라 홀수 또는 짝수를 출력하는 기본적인 코드입니다.
no = int(input('숫자를 입력하세요: '))
if no % 2 == 0:
print('{} : 짝수'.format(no))
else:
print('{} : 홀수'.format(no))
실행 결과
숫자를 입력하세요: 25 25 : 홀수 숫자를 입력하세요: 40 40 : 짝수
코드 동작 원리
input() 함수로 입력받은 값은 문자열이므로, int()를 사용해 정수형으로 변환해야 합니다. 이후 no % 2 연산을 통해 나머지를 구하고, 조건문에서 나머지가 0과 같은지(== 0) 비교합니다.
- 나머지가 0이면 → 2로 나누어떨어지므로 짝수
- 나머지가 1이면 → 2로 나누어떨어지지 않으므로 홀수
참고로 파이썬에서는 음수에 대해서도 이 방식이 정상적으로 동작합니다. 예를 들어 -7 % 2의 결과는 1이므로 올바르게 홀수로 판별됩니다.
비트 연산자를 활용한 대안
성능이 중요한 경우에는 비트 AND 연산(&)을 사용할 수도 있습니다. 정수의 최하위 비트가 1이면 홀수, 0이면 짝수라는 성질을 이용한 방법입니다.
no = int(input('숫자를 입력하세요: '))
if no & 1:
print('{} : 홀수'.format(no))
else:
print('{} : 짝수'.format(no))
두 방법 모두 결과는 동일하지만, 가독성과 직관성 면에서는 나머지 연산자(%)를 사용하는 방식이 가장 널리 권장됩니다. 초보자에게도 이해하기 쉽고, 코드의 의도를 명확하게 드러내기 때문입니다.