본문 바로가기
프로그래밍/python

파이썬의 정수 나누기 연산

by 신일석 2016. 11. 29.
파이썬의 정수 나누기 연산에 대해 정리입니다.

파이썬의 사칙연산은 + - * /(나누기)가 있고,
나누기 연산은 // % /를 사용한다.

몫을 구할때 //
나머지 구할때 %
나누기는 /로 이해하자.

나누기 연산 중에 헷갈리는 연산자가 있는데 바로 몫 구하기

Python 2.7.10 (default, Jul 30 2016, 18:31:42)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 3//2
1
>>> 3/2
1

위와 같이 차이가 없어 보인다.
하지만, 실수 연산을 해 보면 구분할 수 있다.
실수 연산을 위해 __future__를 임포드하는 방법도 있다.

>>> from __future__ import division
>>> 3//2
1
>>> 3/2
1.5

이제야 몫과 나머지가 구분이 된다.

파이썬3에서의 연산
Python 3.5.2 (default, Oct 11 2016, 04:59:56)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 3//2
1
>>> 3/2
1.5


그 외에 몫과 나머지를 돌려주는 함수
>>> 1.5
1.5
>>> divmod(3,2)
(1, 1)
>>> a,b = divmod(3,2) #a는 몫, b는 나머지
>>> a
1
>>> b
1