View
알고리즘 문제를 풀다 보면, 정수를 나눈 몫과 나머지를 구해야 할 때가 있습니다.
예시) 7을 3으로 나눈 몫과 나머지를 구해야 하는 경우
다른 언어에서는..(또는 이 기능을 모르시는 분은)
보통 사람들은 나머지와 몫을 따로 구합니다
a = 7
b = 5
print(a//b, a%b)
파이썬에서는
파이썬의 divmod와 unpacking(*)을 이용하면 다음과 같이 코드를 짤 수 있습니다.
a = 7
b = 5
print(*divmod(a, b))
divemode(a,b)
=> a를 b로 나눈 목과 나머지를 tuple로 return
⨳ divmod를 사용할 때 주의할 점
무조건 divmod를 사용하는 게 좋은 방법은 아닙니다.가독성이나, 팀의 코드 스타일에 따라서, a//b, a%b와 같이 쓸 때가 더 좋을 수도 있습니다.
또한, divmod는 작은 숫자를 다룰 때는 a//b, a%b 보다 느립니다. 대신, 큰 숫자를 다룰 때는 전자가 후자보다 더 빠르지요.
* 둘의 퍼포먼스 차이에 관련해서는 Stack Overflow 질문을 참고
* (asterisk) 사용 예시
tuple = (4,5)
print('{}과 {}를 계산하세요'.format(*tuple))
- 출력 : 4과 5를 계산하세요
그밖의 다양한 사용
'PYTHON' 카테고리의 다른 글
Python을 Python답게) 문자열 정렬하기 (0) | 2022.01.03 |
---|---|
Python을 Python답게) 진법 변환 - int(x, base=10) 함수 (0) | 2021.12.30 |
TIL | PYTHON_DJANGO_logIn 과정 (0) | 2021.09.07 |
TIL | PYTHON_Session_로그인 & 회원가입 (0) | 2021.08.25 |
TIL | codecata_week2day2_숫자중에서 과반수가 넘은 숫자를 반환 (0) | 2021.08.25 |
reply