[Python] 몫과 나머지 ( // , % , divmod())
by Roel Downey728x90
반응형
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
반응형
'Python' 카테고리의 다른 글
[Python] map 내장 함수 사용법 (0) | 2021.05.06 |
---|---|
[python] 2차원 리스트 뒤집기 - zip (0) | 2021.05.06 |
[Python] 원본을 유지한채, 정렬된 리스트 구하기 - sorted (0) | 2021.05.06 |
[Python] 문자열 정렬하기 - ljust, center, rjust (0) | 2021.05.06 |
[Python] 진법 변환 - int(), bin(), oct(), hex() (0) | 2021.05.06 |
블로그의 정보
What doing?
Roel Downey