Roel Notebook

[Python] 몫과 나머지 ( // , % , divmod())

by Roel Downey
728x90
반응형

1. 파이썬 몫을 구하기

파이썬에서 몫을 구하는데 두 가지 방법이 있다.

 

 

1. / 슬래시 1개를 사용해서 소숫값이 나오는 방법

# 10 나누기 3

a = 10 / 3
print(a) 		#3.33333

 

2.  // 슬래시 2개를 사용해서 정수값이 나오는 방법

# 10 나누기 3

a = 10 // 3
print(a) 		#3

 

2. 파이썬 나머지 구하기

파이썬에서 나머지를 구하는데 퍼센트 % 사용해서 값을 구한다.

 

# 10 나머지 3

c = 10 % 3
print(c) 		# 1

 

 

 

 

3. 파이썬 divmod() 로 몫과 나머지 둘 다 구하기

파이썬의 내장함수 중 divmod() : 매개변수로 두개의 숫자를 입력받아 몫과 나머지를 튜플로 반환한다.

 

divmod(a, b)

divmod(10, 3) 이라 할때, 10을 3으로 나누고 (= 10 / 3) 그 몫인 3과 나머지인 1튜플 형식으로 (3, 1)로 반환 하는 함수

a = divmod(10, 3)
print(a)         # (3, 1)

b = divmod(7, 4)
print(b)          # (1, 3)

c, d = *divmod(10, 3)
print(c)         # 3
print(d)         # 1

 

무조건 divmod를 사용하는 게 좋은 방법은 아니다.

가독성이나, 팀의 코드 스타일에 따라서, a//b, a%b와 같이 쓸 때가 더 좋을 수도 있다. 또한, divmod는 작은 숫자를 다룰 때는 a//b, a%b 보다 느리다. 대신, 큰 숫자를 다룰 때는 전자가 후자보다 더 빠르다.

 

Stack Overflow : https://stackoverflow.com/questions/30079879/is-divmod-faster-than-using-the-and-operators

 

 

 

728x90
반응형

블로그의 정보

What doing?

Roel Downey

활동하기