티스토리 뷰

답은 -2 이다.

 

파이썬 3.0부터는 숫자 반올림 방법이 banker's rounding이라는 방법을 사용한다.

https://docs.python.org/3/whatsnew/3.0.html

 

What’s New In Python 3.0

Author, Guido van Rossum,. This article explains the new features in Python 3.0, compared to 2.6. Python 3.0, also known as “Python 3000” or “Py3K”, is the first ever intentionally backwards incomp...

docs.python.org


banker's rounding은 요약하면 가까운 수로 맞추되 정확히 절반인 경우 짝수로 맞춘다는 방법이다.

 

그럼 왜 이런 방법을 쓰느냐

일반적인 반올림을 생각해보자
0.5 이상일 때는 올림, 그 미만일 때는 버림이 된다
그래서 일반적으로는 다음과 같은 반올림 결과를 얻는다

 

  • 1.5 -> 2
  • 2.5 -> 3
  • 3.5 -> 4
  • 4.5 -> 5

하지만 banker's rounding을 적용하면 아래와 같은 결과를 얻는다

  • 1.5 -> 가장 가까운 짝수는 2 -> 결과는 2
  • 2.5 -> 가장 가까운 짝수는 2 -> 결과는 2
  • 3.5 -> 가장 가까운 짝수는 4 -> 결과는 4
  • 4.5 -> 가장 가까운 짝수는 4 -> 결과는 4

 

4개의 숫자 중 2개는 올라가고 2개는 그대로이다.

이러한 규칙은 너무 크거나 작게 반올림되는 것을 방지한다고 한다.

많은 숫자를 반올림할 때 이 방법을 사용하면 전체적으로 더 균형있게 결과를 얻을 수 있다고 한다.

 

이게 실제로 은행에서도 사용되고 가장 공평한 방법이라고 한다!

 

ref.

https://slides.com/hosunglee-1/deck-10#/4/8/2

 

보다 정확한 숫자 계산

PyCon Korea 2017 발표 자료입니다.

slides.com

 

'language > python' 카테고리의 다른 글

global?  (0) 2023.07.18
파이썬 발표자 랜덤추첨  (0) 2023.07.18
파이썬 pdf에서 png  (0) 2023.07.18
파이썬 랜덤 조추첨  (0) 2023.07.18
파이썬 엑셀에서 pdf로  (0) 2023.07.18
댓글