생각하는 아져씨

[Python] 나눗셈 연산 본문

Study/Python

[Python] 나눗셈 연산

azeomi 2022. 9. 8. 15:22

파이썬에서 사용할 수 있는 나눗셈의 연산에는 다음과 같다.

  • /
  • //
  • %
  • divmod

4가지를 잘 구별해야 코드 짤 때 이상한데서 헤메는 일이 없어진다. 🤣 

 

1.  float형의 단순 나눗셈을 구해주는 /

a = 10
b = 6
print(a / b)

>>> 1.6666666666666667

float 형으로 반환해준다. 음수가 있어도 같다.

a = -10
b = 6

print(a / b)
print(abs(a) / b)

>>> -1.6666666666666667
>>> 1.6666666666666667

 

2.  나눗셈의 몫을 구해주는 //

a = 10
b = 6

print(a // b)

>>> 1

나눗셈의 몫만 구해준다.

주의할 점: 음수일 때는 다르다.

a = -10
b = 6

print(a // b)
print(abs(a)//b)

>>> -2
>>> 1

 

3.  나눗셈의 나머지를 구해주는 %

a = 10
b  = 6

print(a % b)

>>> 4

 나눗셈의 나머지만 구해준다.

주의할 점: 음수일 때는 다르다.

a = -10
b  = 6

print(a % b)

>>> 2

 

4.   몫과 나머지를 tuple로 반환하는 함수 divmod

두 숫자를 나누어 몫과 나머지를 tuple로 반환하는 함수이다.

  • 몫: //
  • 나머지: %
a = 10
b = 6

print(divmod(a, b))

>>> (1, 4)

음수일 때는 이렇다.

a = -10
b = 6

print(divmod(a, b))

>>> (-2, 2)

 

따라서 음수 일 때 나눗셈을 하려면 상황에 맞게 잘 써먹으면 될 것 같다.

a = -10
b  = 6

print(a/b)
print(abs(a)/b)
print(a//b)
print(abs(a)//b)
print(int(a/b))         

>>> -1.6666666666666667
>>> 1.6666666666666667
>>> -2
>>> 1
>>> -1