SW/Python

Python : Modulo Operator : 나머지 연산자 사용 방법, 예제, 명령어

얇은생각 2022. 10. 15. 07:30
반응형

모듈로 연산은 한 숫자를 다른 숫자로 나눈 나머지를 구하는 산술 연산입니다. 나머지는 연산의 계수라고 불립니다.

예를 들어, 5를 3으로 나누면 1이고 나머지는 2, 8을 4로 나누면 2이고 나머지는 0입니다.

 

 

Python : Modulo Operator : 나머지 연산자 사용 방법, 예제, 명령어

 

 

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'

 

 

이중 슬래시(//)는 바닥 분할 연산자로 결과를 가장 가까운 정수로 반올림합니다.

 

 

 

참조

https://linuxize.com/post/python-modulo-operator/

반응형