모듈로 연산은 한 숫자를 다른 숫자로 나눈 나머지를 구하는 산술 연산입니다. 나머지는 연산의 계수라고 불립니다.
예를 들어, 5를 3으로 나누면 1이고 나머지는 2, 8을 4로 나누면 2이고 나머지는 0입니다.
Python Modulo 연산자
파이썬에서 모듈로 연산자는 백분율 기호(%)로 표시됩니다. 구문은 다음과 같습니다.
num1 % num2
다음은 예입니다.
5 % 4
# 1
제수(두 번째 인수)가 0이면 ZeroDivisionError가 발생합니다.
5 % 0
# ZeroDivisionError: integer division or modulo by zero
모듈로 연산자는 또한 부동 숫자를 인수로 받아들입니다.
6.8 % 3.4
# 0.0
문자열 형식을 지정할 때 % 문자는 보간 연산자를 나타냅니다.
예
모듈로 연산자의 일반적인 사용 사례 중 하나는 숫자가 홀수인지 짝수인지 확인하는 것입니다. 숫자를 2로 나누면 나머지가 없으면 짝수입니다. 그렇지 않으면 나머지 1이 남으면 홀수입니다.
num = 11
if (num % 2) == 0:
print(num, "is even")
else:
print(num, "is odd")
위의 코드를 실행하면 11% 2가 나머지 1을 남기고 other 문 내부의 코드가 실행됩니다.
11 is odd
다음은 모듈로 연산자를 사용하여 숫자가 소수인지 확인하는 방법을 보여주는 또 다른 예입니다. 소수(prime number)는 양의 정수이며, 나머지가 없고 단독으로 1로 나눌 수 있습니다.
def isPrimeNumber(num):
if num < 1:
return False
for i in range(2, num):
if (num % i) == 0:
return False
else:
return True
일단 숫자, 숫자가 양수인지 확인하고 있습니다. 그리고 우리는 미리 알림 없이 2에서 num까지의 범위에서 다른 숫자로 나눌 수 있는지 확인하고 있습니다. 어떤 조건도 충족되지 않으면, 그 숫자는 소수입니다.
모듈로 연산자는 측정 단위를 변환하는 데도 사용할 수 있습니다. 다음 예는 초를 분으로 변환하는 방법을 보여줍니다.
def secondsToMinutes(sec):
seconds = sec // 60
minutes = sec % 60
return "%d minutes and %d seconds" % (minutes, seconds)
secondsToMinutes(657)
# '57 minutes and 10 seconds'
이중 슬래시(//)는 바닥 분할 연산자로 결과를 가장 가까운 정수로 반올림합니다.
참조
'SW > Python' 카테고리의 다른 글
Python : Comment 사용 방법, 예제, 명령어 (0) | 2022.10.27 |
---|---|
Python : JSON 데이터 파싱 방법, 예제, 명령어 (0) | 2022.10.20 |
Python : List에 Element 추가 방법 : append, extend, insert (0) | 2022.10.11 |
Python : List (리스트) 정렬 방법, 예제, 명령어 (0) | 2022.10.03 |
python : range() 함수 사용 방법, 예제, 명령어 (0) | 2022.07.17 |