코딩 연습

(파이썬) 분수의 표현과 그 연산 본문

Python

(파이썬) 분수의 표현과 그 연산

코딩아저씨 2016. 3. 15. 16:19
반응형

여러 문제를 풀다 보면 분수를 가지고 계산을 해야 할 때가 있다. 예를 들어, \(\dfrac{1}{2} + \dfrac{1}{3}\) 의 결과로 우리가 원하는 것은 \(\dfrac{5}{6}\) 이지만 거의 모든 계산기에서 결과는 \(0.83333333333334\) 로 표시된다.  즉, 결과 자체도 분수 형태로 받고 싶지만 그게 내 맘대로 안되는 것이다. 그래서 결국 분자, 분모를 이용하여 분수 계산을 해주는 함수를 따로 만들어 사용하곤 했었는데, 알고 보니 파이썬 기본 모듈에 이런 분수의 계산을 해주는 것이 있는 걸 알게 되었다. 사용법은 다음과 같다.  

먼저 \(\rm fractions\) 모듈에서 \(\rm Fraction\) 클래스를 \(\rm import\) 한다.

분수 \(\dfrac{1}{2}\) 를 표현하는 방법은 \(\rm Fraction(1, 2)\) 와 같다. 혹은 다음과 같이 \(\rm Fraction(1/2)\) 로 표현할 수도 있다.

>>> from fractions import Fraction
>>> Fraction(1, 2) + Fraction(1, 3)
Fraction(5, 6)

분자와 분모를 따로 다루고 싶다면 \(\rm f = Fraction(1, 2)\) 를 정의하고, 

\(\rm f.numerator\)

\(\rm f.denominator\)

로 부터 각각 얻어 낼 수 있다.

>>> f = Fraction(2, 7)
>>> f.numerator
2
>>> f.denominator
7
반응형

'Python' 카테고리의 다른 글

(파이썬) 꺽은선 그래프 그리기  (0) 2016.03.15
(파이썬) 복소수 & 복소수의 연산  (0) 2016.03.15
(파이썬) 최대공약수 구하기  (0) 2016.03.15
(파이썬) 완전제곱수 판별  (0) 2016.03.15
(파이썬) 소수판정  (0) 2016.03.15


Comments