올림
- 소수점 올림
math 모듈의 ceil()을 사용하여 올림을 계산한다.
>>> import math
# 나눗셈 계산 후 올림
>>> 7/3
2.3333333333333335
>>> math.ceil(7/3)
3
>>> math.ceil(4.2)
5
>>> math.ceil(-4.2)
-4
- 정수 올림 (1의 자리, 10의 자리, ...)
# 1의 자리 올림
>>> ((18 // 10) + 1 )* 10
20
>>> ((1768 // 10) + 1 )* 10
1770
18 // 10 = 1 -> 일의 자리 없애기
1 + 1 = 2 -> 십의 자리 1 올리기
2 * 10 = 20 -> 다시 일의 자리에 0 채우기
1768 // 10 = 176 -> 일의 자리 없애기
176 + 1 = 177 -> 십의 자리 1 올리기
177 * 10 = 1770 -> 다시 일의 자리에 0 채우기
# 10의 자리 올림
>>> ((1798 // 100) + 1 )* 100
1800
1798 // 100 = 17 -> 백의 자리 뒤를 없애기
17 + 1 = 18 -> 백의 자리 1 올리기
18 * 10 = 1800 -> 다시 백의 자리 뒤에 0 채우기
내림
- 소수점 내림
내림 3가지 방법 - floor(), trunc(), int()
>>> import math
# floor()
>>> 7/3
2.3333333333333335
>>> math.floor(7/3)
2
>>> math.floor(5.34)
5
>>> math.floor(-5.34)
-6
#trunc()
>>> math.trunc(5.34)
5
>>> math.trunc(-5.34)
-5
#int()
>>> int(5.34)
5
>>> int(-5.34)
-5
trunc()와 int()는 내림을 하더라도 0을 향하고 floor()은 아래를 향해 내림한다.
- 정수 내림 (1의 자리, 10의 자리, ...)
# 1의 자리 내림
>>> (18 // 10)* 10
10
>>> (1798 // 10) * 10
1790
18 // 10 = 1 -> 일의 자리 없애기
1 * 10 = 10 -> 다시 일의 자리에 0 채우기
1798 // 10 = 179 -> 일의 자리 없애기
179 * 10 = 1790 -> 다시 일의 자리에 0 채우기
# 10의 자리 내림
>>> (1798 // 100) * 100
1700
1798 // 100 = 17 -> 백의 자리 뒤를 없애기
17 * 10 = 1700 -> 다시 백의 자리 뒤에 0 채우기
반올림
- 소수점 반올림
# 반올림
>>> round(5.32)
5
>>> round(6.84)
7
# 소수 세번째 자리에서 반올림
>>> round(5.3216, 3)
5.322
# 0.5인 경우에는 앞자리 숫자가 짝수면 내림 홀수면 올림
>>> round(5.5)
6
>>> round(4.5)
4
- 정수 반올림 (1의 자리, 10의 자리, ...)
# 일의 자리 반올림
>>> round(1768, -1)
1770
# 십의 자리 반올림
>>> round(1768, -2)
1800
# 백의
>>> round(1768, -3)
2000
※ 반올림 해야할 자리의 숫자가 5인 경우는 앞의 숫자가 짝수면 내림, 홀수면 올림
>>> round(15, -1) # 십의 자리가 1(홀수) -> 올림
20
>>> round(25, -1) # 십의 자리가 2(짝수) -> 내림
20
>>> round(35, -1) # 십의 자리가 3(홀수) -> 올림
40
>>> round(45, -1) # 십의 자리가 4(짝수) -> 내림
40
'Study > Python study' 카테고리의 다른 글
[Python(파이썬)] 문자, 아스키코드 변환 (0) | 2021.07.12 |
---|---|
[Python(파이썬)] 힙큐(heapq) 모듈 (0) | 2021.07.08 |
[Python(파이썬)] 리스트, 튜플, 세트, 딕셔너리 (0) | 2021.07.06 |
[Python(파이썬)] itertools - 순열, 조합, product, 두 개 이상 리스트 모든 조합 (0) | 2021.07.05 |
[Python(파이썬)] 몫, 나머지 구하기( /, //, %, divmod() ) (0) | 2021.07.02 |
댓글