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